我有以下课程:
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实施。
我很欣赏一些如何实现这一目标的例子。
我尝试过使用开发者网站中描述的方法:
Intent i=new Intent(this,MapActivity.class);
i.putParcelableArrayListExtra("ads", (ArrayList<? extends Parcelable>) _items);
源活动中的和
_items = intent.getParcelableArrayListExtra( “广告”);
在目标活动中,但我收到错误:
绑定不匹配:Intent类型的泛型方法getParcelableArrayListExtra(String)不适用于参数(String)。推断类型ListItem不是有界参数
的有效替代请帮助
答案 0 :(得分:0)
在您的代码上,Ad
类实现Parcelable
,而非ListItem
,使ListItem
实现Parcelable
,然后您的代码应该有效。