【发布时间】:2018-04-25 20:44:16
【问题描述】:
在我的应用程序中,我有一个类CurrentGame,我根据这个问题中的示例设置了它:Android Class Parcelable with ArrayList
但是,我不知道如何将 intArray scoresRnd 添加到 Parcel 构造函数中。
例如,当我添加这一行时,它会以红色下划线显示:
this.scoresRnd = parcel.readArray(null);
...我收到此错误消息“不兼容的类型。必需:Int[]。找到:java.lang.Object[]”。你能帮我么?谢谢! (另外,请指出我的代码中的任何其他错误)
public class CurrentGame implements Parcelable{
private int rnd;
private int[] scoresRnd;
private ArrayList<int[]> scoreList;
public CurrentGame(){
super();
this.rnd = 0;
this.scoresRnd = new int[]{0,0,0,0};
this.scoreList = new ArrayList<>();
}
public CurrentGame (Parcel parcel){
this.scoreList = parcel.readArrayList(null);
this.rnd = parcel.readInt();
//WHAT DO I PUT HERE FOR THE INTARRAY???
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
// TODO Auto-generated method stub
parcel.writeList(this.scoreList);
parcel.writeInt(this.rnd);
}
public static final Creator<CurrentGame> CREATOR = new Creator<CurrentGame>() {
@Override
public CurrentGame createFromParcel(Parcel parcel) {
// TODO Auto-generated method stub
return new CurrentGame(parcel);
}
@Override
public CurrentGame[] newArray(int i) {
// TODO Auto-generated method stub
return new CurrentGame[i];
}
};
public void expandList(int[] scoresRnd){
scoreList.add(scoresRnd);
}
public void setRound(int rnd){
this.rnd=rnd;
}
public int getRound(){
return rnd;
}
public ArrayList<int[]> getScoreList(){
return scoreList;
}
}
【问题讨论】:
标签: java android parcelable