gpt4 book ai didi

java - 如何在Parcelable对象中读取/写入int?

转载 作者:行者123 更新时间:2023-12-02 06:59:09 28 4
gpt4 key购买 nike

我的 int 变量在 Parcelable 对象中无法正确读取/写入。我将对象从一个 Activity 传递到另一个 Activity ,但是一旦我传递并读取它,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
...

我如何在activity1中传递它:

//instantiate someObject 
...
Intent intent = new Intent(activity1.this, activity2.class);
intent.putExtras("stuff", someObject);

传递给activity2:

onCreate(Bundle blah){
Bundle b = getIntent.getExtras();
someObject some = b.getParcelable("stuff");

}

我在构造函数中输出了一些东西和一些东西2,以及我也传递它的 Activity 。他们的值(value)观不同,我做错了什么?

我的 Parcelable 对象类中有其他 String 成员变量,它们似乎可以工作。只是 2 个整数无法正常工作。

最佳答案

来自文档:

final int    readInt()

Read an integer value from the parcel at the current dataPosition().

当前的dataPosition()意味着两个in.readInt()不同。

(此处:http://developer.android.com/reference/android/os/Parcel.html)

关于java - 如何在Parcelable对象中读取/写入int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16887392/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com