mtp*_*ret 6 java android bundle parcelable android-intent
在Intent/bundle中放在一起的一些parcelables对象可能会干扰自己并破坏对Intent/Bundle的读取?
我提取代码,我认为,存在问题.此代码有效:
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);
}
Run Code Online (Sandbox Code Playgroud)
但是如果我添加一个其他复杂的parcelable对象(带有intern parcelable ArrayList):
public void writeToParcel(Parcel arg0, int arg1) {
arg0.writeParcelable(object1, arg1);
arg0.writeParcelable(object2, arg1);
arg0.writeTypedList(arraylist1);
}
public void readFromParcel(Parcel in) {
object1 = in.readParcelable(object1.class.getClassLoader());
object2 = in.readParcelable(object2.class.getClassLoader());
arraylist1 = new ArrayList<object3>();
in.readTypedList(arraylist1, object3.CREATOR);
}
Run Code Online (Sandbox Code Playgroud)
我为arraylist1(或其他难以理解的问题)获得了更多10000000个元素的boucle
虽然如果我用arraylist1删除行,它可以工作:
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());
}
Run Code Online (Sandbox Code Playgroud)
我试图创建一个扩展ArrayList并实现Parcelable的对象,但我还有其他一些问题(如解组时的android.os.BadParcelableException:ClassNotFoundException :)
如果这些对象干扰了自己,那么我必须使用几个捆绑把这些不同的对象放到同一个意图中?
我想有一天我遇到了同样的问题.据我所知,我通过在所有其他类型之后写入/读取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());
}
Run Code Online (Sandbox Code Playgroud)
(虽然没试过这个代码)
| 归档时间: |
|
| 查看次数: |
6059 次 |
| 最近记录: |