如果要将ArrayList传递给片段,则需要确保Model类实现了Parcelable。在这里我可以举一个例子。
public class ObjectName implements Parcelable { public ObjectName(Parcel in) { super(); readFromParcel(in); } public static final Parcelable.Creator<ObjectName> CREATOR = new Parcelable.Creator<ObjectName>() { public ObjectName createFromParcel(Parcel in) { return new ObjectName(in); } public ObjectName[] newArray(int size) { return new ObjectName[size]; } }; public void readFromParcel(Parcel in) { Value1 = in.readInt(); Value2 = in.readInt(); Value3 = in.readInt(); } public int describeContents() { return 0; } public void writeToParcel(Parcel dest, int flags) { dest.writeInt(Value1); dest.writeInt(Value2); dest.writeInt(Value3); }}然后可以添加
ArrayList<ObjectName>到Bundle对象。
ArrayList<ObjectName> arraylist = new Arraylist<ObjectName>(); Bundle bundle = new Bundle(); bundle.putParcelableArrayList("arraylist", arraylist);fragment.setArguments(bundle);之后,您可以使用来获取这些数据,
Bundle extras = getIntent().getExtras(); ArrayList<ObjectName> arraylist = extras.getParcelableArrayList("arraylist");最后,您可以显示这些数据片段的列表。希望这将有助于您获得预期的答案。



