Java 将一些物品放在一个意向书/包裹中可能会干扰自身,从而影响意向书/包裹的阅读?
将一些物品放在一个意向书/包裹中可能会干扰自身,从而影响意向书/包裹的阅读 我在我认为有问题的地方提取代码。 此代码适用于:Java 将一些物品放在一个意向书/包裹中可能会干扰自身,从而影响意向书/包裹的阅读?,java,android,bundle,android-intent,parcelable,Java,Android,Bundle,Android Intent,Parcelable,将一些物品放在一个意向书/包裹中可能会干扰自身,从而影响意向书/包裹的阅读 我在我认为有问题的地方提取代码。 此代码适用于: public void writeToParcel(Parcel arg0, int arg1) { arg0.writeParcelable(object1, arg1); arg0.writeTypedList(arraylist1); } public void readFromParcel(Parcel in) { object1
public void writeToParcel(Parcel arg0, int arg1) {
arg0.writeParcelable(object1, arg1);
arg0.writeTypedList(arraylist1);
}
public void readFromParcel(Parcel in) {
object1 = in.readParcelable(object1.class.getClassLoader());
arraylist1 = new ArrayList<object3>();
in.readTypedList(arraylist1, object3.CREATOR);
}
我试图创建一个扩展ArrayList并实现Parcelable的对象,但我还有一些其他问题(如android.os.BadParcelableException:ClassNotFoundException当解组时:)
如果这些对象相互干扰,那么我必须使用多个bundle将这些不同的对象放在同一个目的中?我想有一天我也遇到了同样的问题。据我记忆所及,我总是在所有其他类型之后写/读Parcelable来修复它。比如:
public void writeToParcel(Parcel arg0, int arg1) {
arg0.writeTypedList(arraylist1);
arg0.writeParcelable(object1, arg1);
arg0.writeParcelable(object2, arg1);
}
public void readFromParcel(Parcel in) {
arraylist1 = new ArrayList<object3>();
in.readTypedList(arraylist1, object3.CREATOR);
object1 = in.readParcelable(object1.class.getClassLoader());
object2 = in.readParcelable(object2.class.getClassLoader());
}
public void writeToParcel(地块arg0,内部arg1){
arg0.writeTypedList(arraylist1);
arg0.WriteParceable(object1,arg1);
arg0.WriteParceable(object2,arg1);
}
公共无效readFromParcel(地块位于中){
ArrayList 1=新的ArrayList();
in.readTypedList(arraylist1,object3.CREATOR);
object1=in.readParcelable(object1.class.getClassLoader());
object2=in.readParcelable(object2.class.getClassLoader());
}
(但尚未尝试此代码)
public void writeToParcel(Parcel arg0, int arg1) {
arg0.writeParcelable(this.object1, arg1);
arg0.writeParcelable(this.object2, arg1);
}
public void readFromParcel(Parcel in) {
object1 = in.readParcelable(object1.class.getClassLoader());
object2 = in.readParcelable(object2.class.getClassLoader());
}
public void writeToParcel(Parcel arg0, int arg1) {
arg0.writeTypedList(arraylist1);
arg0.writeParcelable(object1, arg1);
arg0.writeParcelable(object2, arg1);
}
public void readFromParcel(Parcel in) {
arraylist1 = new ArrayList<object3>();
in.readTypedList(arraylist1, object3.CREATOR);
object1 = in.readParcelable(object1.class.getClassLoader());
object2 = in.readParcelable(object2.class.getClassLoader());
}