Android 实现Parcelable的类
我想将一个类的arraylist从一个活动传递到另一个活动。要做到这一点,该类正在实现Parcelable。问题是该类中很少有字段为null。如何只检查和发送不为null的值。我认为这可以通过简单的if/else writeToParcel()轻松完成但如何在以参数为包的类的构造函数中实现同样的操作。如下Android 实现Parcelable的类,android,serialization,Android,Serialization,我想将一个类的arraylist从一个活动传递到另一个活动。要做到这一点,该类正在实现Parcelable。问题是该类中很少有字段为null。如何只检查和发送不为null的值。我认为这可以通过简单的if/else writeToParcel()轻松完成但如何在以参数为包的类的构造函数中实现同样的操作。如下 private Student(Parcel in) { } 发送空值时出现一些问题 编辑:添加代码 @Override public void writeToPar
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
}
Simpest的方法是创建一个Globalclass.java并声明静态arraylist,如public static
arraylist arraylist=new arraylist()代码>
当您想使用Globalclass.arrayList=value
;并在项目中使用任意软件
使用intent传递消息的另一种方法
Intent i =new Intent(this,2activity.class);
i.putStringArrayListExtra(name, arrayList);
Simpest的方法是创建一个Globalclass.java并声明静态arraylist,如public staticarraylist arraylist=new arraylist()代码>
当您想使用Globalclass.arrayList=value
;并在项目中使用任意软件
使用intent传递消息的另一种方法
Intent i =new Intent(this,2activity.class);
i.putStringArrayListExtra(name, arrayList);
我真的不想创建任何可能最终导致我的项目内存崩溃的静态ArrayList。我的项目中的ArrayList可能有多达300个类对象。每个类都有大约20个元素。因此创建静态ArrayList不是明智的主意。Intent i=new Intent(这个,2activity.class);i、 putStringArrayListExtra(名称、值);由于全局静态变量而被否决。这没有任何用处(Intent
s用于执行此操作),并且只会导致崩溃(如果从另一个活动调用您的活动
,而静态变量仍然null
?)我真的不想创建任何可能最终导致我的项目内存崩溃的静态ArrayList。我的项目中的ArrayList可能有多达300个类对象。每个类都有大约20个元素。因此创建静态ArrayList不是明智的主意。Intent i=new Intent(这个,2activity.class);i、 putStringArrayListExtra(名称、值);由于全局静态变量而被否决。这是没有用的(Intent
s被用来做这件事),并且只会导致崩溃(你的Activity
被另一个调用,而静态变量仍然是null
?)为什么你没有实现Serializable
。您已经分析了您的问题并封装了您的域对象,请在学生级别以面向对象的方式进行思考。不需要关心域对象中的内部值,也不需要从外部对其执行特殊的条件代码。请粘贴您的代码。。。处理null valuesHow不应该是一个问题,相反,您没有实现可序列化的吗?您试图实现的目标没有任何意义。您已经分析了您的问题并封装了您的域对象,请在学生级别以面向对象的方式进行思考。不需要关心域对象中的内部值,也不需要从外部对其执行特殊的条件代码。请粘贴您的代码。。。处理空值应该没有问题