实现Parcelable的类

时间:2012-04-30 08:01:26

标签: android serialization

我想将一个类的arraylist从一个活动传递到另一个活动。为了做同样的事情,该类正在实现Parcelable。问题是类中的少数字段为空。如何检查并仅发送值为not null。我认为这可以通过writeToParcel()中的简单if / else轻松完成,但是如何在类的构造函数中执行相同的操作,该类将参数作为Parcel。如下所示

private Student(Parcel in) {
}

发送空值时存在一些问题..

编辑:添加了代码

    @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(id);
            dest.writeString(name);
            dest.writeString(grade);
            dest.writeString(dateOfBirth);
            dest.writeString(place);
                //Like wise there are many other fields
                //We have to write only values which are not null
}

       private Student(Parcel in) {
            id=in.readString();
            name=in.readString();
            grade=in.readString();
            dateOfBirth=in.readString();
            place=in.readString();
            //like wise have to read all other fields
           //we have to make sure we read only values which are not null
}

1 个答案:

答案 0 :(得分:-1)

Simpest方法是创建一个Globalclass.java并声明静态arraylist,如public static ArrayList<String> arrayList = new ArrayList<String>(); 当你想使用Globalclass.arrayList = value;并在项目中使用任何软件。

使用意图传递的另一种方法

Intent i =new Intent(this,2activity.class);
i.putStringArrayListExtra(name, arrayList);