我有一个活动(第一个活动):
ArrayList <MyDouble> myfinals=new ArrayList <MyDouble>();
...
i.putParcelableArrayListExtra("myfinals",myfinals);
...
public static class MyDouble implements Parcelable {
Double al;
public MyDouble(Parcel source){
al = source.readDouble();
}
public MyDouble(Double val){
al = val;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return this.hashCode();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeDouble(al);
}
public Double getValueDouble(){
return this.al;
}
public static final Parcelable.Creator<MyDouble> CREATOR = new Parcelable.Creator<MyDouble>() {
@Override
public MyDouble createFromParcel(Parcel source) {
// TODO Auto-generated method stub
return new MyDouble(source);
}
@Override
public MyDouble[] newArray(int size) {
// TODO Auto-generated method stub
return new MyDouble[size];
}
};
}
在另一项活动中:
ArrayList <MyDouble> myfinals=new ArrayList <MyDouble>();
ArrayList<Double> y =new ArrayList<Double>();
...
for (int i=0;i<=100;i++){
y.add(myfinals.get(i));
}
我正试图将"myfinally"添加到y但它给了我一个错误"add方法不适用于参数的firstactivity.MyDouble".
这应该有效:
for (int i=0;i<=100;i++){
y.add(myfinals.get(i).getValueDouble());
}
Double和MyDouble不是同一个对象。ArrayList y需要一个Double对象,而您正试图向其中添加一个MyDouble对象。