Atu*_*waj 29 android parcelable
在parcel的情况下,我找不到任何有关如何处理整数数组的解决方案(我想使用这两个函数dest.writeIntArray(storeId); 和 in.readIntArray(storeId);).
这是我的代码
public class ResponseWholeAppData implements Parcelable {
private int storeId[];
public int[] getStoreId() {
return storeId;
}
public void setStoreId(int[] storeId) {
this.storeId = storeId;
}
@Override
public int describeContents() {
return 0;
}
public ResponseWholeAppData(){
storeId = new int[2];
storeId[0] = 5;
storeId[1] = 10;
}
public ResponseWholeAppData(Parcel in) {
if(in.readByte() == (byte)1)
in.readIntArray(storeId); //how to do this storeId=in.readIntArray(); ?
}
}
@Override
public void writeToParcel(Parcel dest, int flags) {
if(storeId!=null&&storeId.length>0)
{
dest.writeByte((byte)1);
dest.writeIntArray(storeId);
}
else
dest.writeByte((byte)0);
}
public static Parcelable.Creator<ResponseWholeAppData> getCreator() {
return CREATOR;
}
public static void setCreator(Parcelable.Creator<ResponseWholeAppData> creator) {
CREATOR = creator;
}
public static Parcelable.Creator<ResponseWholeAppData> CREATOR = new Parcelable.Creator<ResponseWholeAppData>()
{
public ResponseWholeAppData createFromParcel(Parcel in)
{
return new ResponseWholeAppData(in);
}
public ResponseWholeAppData[] newArray(int size)
{
return new ResponseWholeAppData[size];
}
};
}
Run Code Online (Sandbox Code Playgroud)
小智 58
当我使用" in.readIntArray(storeID)"时,我收到一个错误:
"引起:android.os.Parcel.readIntArray(Parcel.java:672)中的java.lang.NullPointerException".
而不是使用" readIntArray"我使用以下内容:
storeID = in.createIntArray();
Run Code Online (Sandbox Code Playgroud)
现在没有错误.
| 归档时间: |
|
| 查看次数: |
15260 次 |
| 最近记录: |