为了账号安全,请及时绑定邮箱和手机立即绑定

我无法将带有一个片段的包的 ArrayList 放入另一个片段

我无法将带有一个片段的包的 ArrayList 放入另一个片段

一只萌萌小番薯 2023-06-14 10:43:16
我想在另一个片段中使用我自己的数据类型的 ArrayList,我用一个包对其进行测试,并将列表与 putParcelableArrayList 方法放在一起,但它没有用。任何想法为什么,或更好的建议?片段 1:Bundle arguments = new Bundle(); arguments.putParcelableArrayList("BESTAND", (ArrayList<Bestand>) palBestand);片段 2:ArrayList<Bestand> bestandsliste = (ArrayList<Bestand>) getArguments().getParcelableArrayList("BESTAND");
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

这是 Parcelable 类的示例


public class Student implements Parcelable{

        private String id;

        private String name;

        private String grade;


        // Constructor

        public Student(String id, String name, String grade){

            this.id = id;

            this.name = name;

            this.grade = grade;

       }

       // Getter and setter methods

       .........

       .........


       // Parcelling part

       public Student(Parcel in){

           String[] data = new String[3];


           in.readStringArray(data);

           // the order needs to be the same as in writeToParcel() method

           this.id = data[0];

           this.name = data[1];

           this.grade = data[2];

       }


       @Оverride

       public int describeContents(){

           return 0;

       }


       @Override

       public void writeToParcel(Parcel dest, int flags) {

           dest.writeStringArray(new String[] {this.id,

                                               this.name,

                                               this.grade});

       }

       public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {

           public Student createFromParcel(Parcel in) {

               return new Student(in); 

           }


           public Student[] newArray(int size) {

               return new Student[size];

           }

       };

   }


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信