android – 将Activity中的Arraylist传递给Fragment

android – 将Activity中的Arraylist传递给Fragment,第1张

概述我有MyClass实现Parcelable.并有2个片段.在MainActivity(onCreate)中我有代码: ArrayList<MyClass> data = new ArrayList<MyClass>();............Bundle extras1 = new Bundle();extras1.putParcelableArrayList("arraylist", d 我有MyClass实现Parcelable.并有2个片段.在MainActivity(onCreate)中我有代码:
ArrayList<MyClass> data = new ArrayList<MyClass>();............Bundle extras1 = new Bundle();extras1.putParcelableArrayList("arrayList",data);Tab1Fragment fg = new Tab1Fragment();fg.setArguments(extras1);

在Fragment(onCreateVIEw)中:

Bundle extras = getArguments(); ListVIEw List = (ListVIEw) content.findVIEwByID(R.ID.lvMain);if (extras != null) {    data = extras.getParcelableArrayList("arrayList");    List.setAdapter(new MyAdapter(getActivity(),data));}

但是额外的东西总是空的.为什么?:)

解决方法 您提供的代码似乎没问题.我怀疑问题来自你如何实现MyClass.
Parcelable的典型实现是这样的(取自谷歌)
public class MyParcelable implements Parcelable { private int mData; public int describeContents() {     return 0; } public voID writetoParcel(Parcel out,int flags) {     out.writeInt(mData); } public static final Parcelable.Creator<MyParcelable> CREATOR         = new Parcelable.Creator<MyParcelable>() {     public MyParcelable createFromParcel(Parcel in) {         return new MyParcelable(in);     }     public MyParcelable[] newArray(int size) {         return new MyParcelable[size];     } }; private MyParcelable(Parcel in) {     mData = in.readInt(); }
总结

以上是内存溢出为你收集整理的android – 将Activity中的Arraylist传递给Fragment全部内容,希望文章能够帮你解决android – 将Activity中的Arraylist传递给Fragment所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1141069.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存