亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用ArrayList的ArrayList時讀寫Parcel

使用ArrayList的ArrayList時讀寫Parcel

慕田峪9158850 2023-06-28 15:48:56
我也嘗試讀取和寫入這個 ArrayList 結構:ArrayList<ArrayList<Pair<Float,Float>>> points我已經看到唯一的方法是使用外部 ArrayList 內部的類,但在這種情況下我沒有。這是我的完整課程,我該如何實施?import android.os.Parcel;import android.os.Parcelable;import android.util.Pair;import java.io.Serializable;import java.util.ArrayList;public class Cornice implements Serializable, Parcelable {    private String number;    private ArrayList<ArrayList<Pair<Float,Float>>> points;    public Cornice(String n, ArrayList<ArrayList<Pair<Float,Float>>> p) {        number = n;        if (p!=null) points = new ArrayList<>(p);        else points=new ArrayList<>();    }    protected Cornice(Parcel in) {        number = in.readString();        points = //MISSING    }    public String getNumber () {        return number;    }    public ArrayList<ArrayList<Pair<Float,Float>>> getPoints () {        return points;    }    public static final Creator<Cornice> CREATOR = new Creator<Cornice>() {        @Override        public Cornice createFromParcel(Parcel in) {            return new Cornice(in);        }        @Override        public Cornice[] newArray(int size) {            return new Cornice[size];        }    };    @Override    public int describeContents() {        return 0;    }    @Override    public void writeToParcel(Parcel dest, int flags) {        dest.writeString(number);        //MISSING    }}
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

Pair既不可打包,也不可序列化,因此您嘗試做的事情將不起作用。您將必須更改用于將點保存為其他內容的數據結構。例如,您可以將其轉換為如下所示:

private?ArrayList<ArrayList<Float[]>>?points;

甚至(如果您不想支持空值):

private?ArrayList<ArrayList<float[]>>?points;


查看完整回答
反對 回復 2023-06-28
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號