【问题标题】:I can't put a ArrayList with a bundle from a fragment into another fragment我不能将一个 ArrayList 与一个片段中的捆绑包放入另一个片段中
【发布时间】:2019-08-19 13:57:59
【问题描述】:

我想在另一个片段中使用我自己的数据类型的 ArrayList,我用一个包测试它并使用 putParcelableArrayList 方法放置列表,但它不起作用。

有什么想法或更好的建议吗?

片段 1:

Bundle arguments = new Bundle();

arguments.putParcelableArrayList("BESTAND", (ArrayList<Bestand>) palBestand);

片段 2:

ArrayList<Bestand> bestandsliste = (ArrayList<Bestand>) getArguments().getParcelableArrayList("BESTAND");

【问题讨论】:

  • 你需要打包你的模态类,例如 Bestand

标签: java android android-fragments arraylist bundle


【解决方案1】:

这是 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];
           }
       };
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    相关资源
    最近更新 更多