android Parcelable如何传递boolean 与List<E>类型的变量
publicstaticfinalParcelable.Creator<MyBean2>CREATOR=newCreator<MyBean2>(){@Overridepu...
public static final Parcelable.Creator<MyBean2> CREATOR = new Creator<MyBean2>() {
@Override
public MyBean2 createFromParcel(Parcel source) {
MyBean2 parcelableUser = new MyBean2();
parcelableUser.name = source.readString(); //字符型
parcelableUser.age = source.readInt(); //整形
// parcelableUser.die = source.; 1.
return parcelableUser;
}
@Override
public MyBean2[] newArray(int size) {
return new MyBean2[size];
}
};
现在需要传递
private boolean die;
private List<Object> objectList;
source这里也就是1处应该怎么处理呢?
多谢 展开
@Override
public MyBean2 createFromParcel(Parcel source) {
MyBean2 parcelableUser = new MyBean2();
parcelableUser.name = source.readString(); //字符型
parcelableUser.age = source.readInt(); //整形
// parcelableUser.die = source.; 1.
return parcelableUser;
}
@Override
public MyBean2[] newArray(int size) {
return new MyBean2[size];
}
};
现在需要传递
private boolean die;
private List<Object> objectList;
source这里也就是1处应该怎么处理呢?
多谢 展开
2个回答
展开全部
想传递boolean比较简单,可以用Bundle直接putBoolean
对于List类型,需要E是继承了parcelable接口
并且List实际类型要是ArrayList才可以.
调用putParcelableArrayList(String key, ArrayList<? extends Parcelable> list);
关于继承Parcelable接口
需要完成以下内容:
1,声明该类class MyParcelable implements Parcelable;
2,创建Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>()
{
需要实现
public MyParcelable createFromParcel(Parcel source)
{
//例如MyParcelable有String name;
MyParcelable p = new MyParcelable();
p.name = source.readString();
//所有成员都要处理.
}
public MyParcelable[] newArray(int size)
{
return new MyParcelable[size];//这样就可以了
}
}
对于List类型,需要E是继承了parcelable接口
并且List实际类型要是ArrayList才可以.
调用putParcelableArrayList(String key, ArrayList<? extends Parcelable> list);
关于继承Parcelable接口
需要完成以下内容:
1,声明该类class MyParcelable implements Parcelable;
2,创建Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>()
{
需要实现
public MyParcelable createFromParcel(Parcel source)
{
//例如MyParcelable有String name;
MyParcelable p = new MyParcelable();
p.name = source.readString();
//所有成员都要处理.
}
public MyParcelable[] newArray(int size)
{
return new MyParcelable[size];//这样就可以了
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询