gpt4 book ai didi

android - 为什么 java.lang.Integer 在 Android Studio 的自动 Parcelable 实现中被忽略?

转载 作者:太空狗 更新时间:2023-10-29 14:44:44 26 4
gpt4 key购买 nike

这是由 Android Studio 生成的自动 Parcelable 实现。它以某种方式总是忽略类型为 Integer

resultCode
public class TestParceable implements Parcelable {

private String message;
private Integer resultCode; //an Integer

protected TestParceable(Parcel in) {
message = in.readString();
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(message);
}

@Override
public int describeContents() {
return 0;
}

public static final Creator<TestParceable> CREATOR = new Creator<TestParceable>() {
@Override
public TestParceable createFromParcel(Parcel in) {
return new TestParceable(in);
}

@Override
public TestParceable[] newArray(int size) {
return new TestParceable[size];
}
};
}

另一方面,如果我将 resultCode 的类型更改为 int,自动 Parcelable 实现会考虑它。

public class TestParceable implements Parcelable {

private String message;
private int resultCode; //an int

protected TestParceable(Parcel in) {
message = in.readString();
resultCode = in.readInt();
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(message);
dest.writeInt(resultCode);
}

@Override
public int describeContents() {
return 0;
}

public static final Creator<TestParceable> CREATOR = new Creator<TestParceable>() {
@Override
public TestParceable createFromParcel(Parcel in) {
return new TestParceable(in);
}

@Override
public TestParceable[] newArray(int size) {
return new TestParceable[size];
}
};

我是不是遗漏了什么或者这是 Android Studio 的错误?

最佳答案

这是一个错误 ( https://code.google.com/p/android/issues/detail?id=233034 ),已针对 Studio 2.4 修复。

关于android - 为什么 java.lang.Integer 在 Android Studio 的自动 Parcelable 实现中被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899736/

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