我的 int 变量在我的 Parcelable 对象中没有正确读取/写入。我将我的对象从一个活动传递到另一个活动,但是一旦我传递并读取它,int 变量就不一样了。
这是我的代码。
可包裹物体:
class someObject implements Parcelable
int something;
int something2;
//normal constructor
...
public someObject(Parcel in){
this.something = in.readInt();
this.something2 = in.readInt();
}
public void writeToParcel(Parcel dest, int flags){
dest.writeInt(something);
dest.writeInt(something2);
}
//creator and other parcel stuff
...
//mutators for int variables
...
我如何在活动1中通过它:
//instantiate someObject
...
Intent intent = new Intent(activity1.this, activity2.class);
intent.putExtras("stuff", someObject);
传递给活动2:
onCreate(Bundle blah){
Bundle b = getIntent.getExtras();
someObject some = b.getParcelable("stuff");
}
我在构造函数和传递它的活动中输出了一些东西和一些东西。他们是不同的价值观,我做错了什么?
我的 parcelable 对象类中有其他 String 成员变量,它们似乎可以工作。只是 2 个整数无法正常工作。