我想将一个类的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
}
答案 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);