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());
}