我有以下课程:
public class Ad extends ListItem implements Parcelable {
private String _type;
private String _recordID;
private String _line1;
private String _line2;
private String _line3;
private String _line4;
private String _url;
private Double _longitude;
private Double _latitude;
public Ad() {
}
public Ad(Parcel parceledAd) {
set_url(parceledAd.readString());
set_latitude(parceledAd.readDouble());
set_longitude(parceledAd.readDouble());
set_recordID(parceledAd.readString());
set_line1(parceledAd.readString());
set_line2(parceledAd.readString());
set_line3(parceledAd.readString());
set_line4(parceledAd.readString());
}
// getters and setters for appropiate fields are skipped but they exsist.
<pre>// inherited from listItem
@Override
public ListItemType getType() {
return ListItemType.Ad;
}
<pre>// inherited from the parcelable interface</pre>
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel parceledAd, int flags) {
parceledAd.writeString(get_url());
parceledAd.writeDouble(get_latitude());
parceledAd.writeDouble(get_longitude());
parceledAd.writeString(get_recordID());
parceledAd.writeString(get_line1());
parceledAd.writeString(get_line2());
parceledAd.writeString(get_line3());
parceledAd.writeString(get_line4());
}
public static final Parcelable.Creator<Ad> CREATOR = new Parcelable.Creator<Ad>() {
@Override
public Ad createFromParcel(Parcel parceledAd) {
return new Ad(parceledAd);
}
@Override
public Ad[] newArray(int size) {
return new Ad[size];
}
};
}
在源活动上,我有一个类型的数组列表:-
private ArrayList<ListItem> _items = new ArrayList<ListItem>();
其中包含一个ad
对象列表(它是ListItem
仅包含一个enum
.
我想创建一个包裹Ad
对象的数组列表_items ArrayList<ListItem>
parcelised 实现是在 Ad 类上执行的。
我将不胜感激一些关于如何实现这一目标的例子。
我尝试使用开发者网站中描述的方法:
Intent i=new Intent(this,MapActivity.class);
i.putParcelableArrayListExtra("ads", (ArrayList<? extends Parcelable>) _items);
在源活动和
_items=intent.getParcelableArrayListExtra("ads");
在目标活动中,但出现错误:
绑定不匹配:Intent 类型的通用方法 getParcelableArrayListExtra(String) 不适用于参数 (String)。推断的类型 ListItem 不是有界参数的有效替代品
请帮忙