3

我有一个使用@Parcelable 的复杂类(我正在使用 Parceler 库https://github.com/johncarl81/parceler

@Parcel
public class Event {
    public int id;
    public String title;
    public String description;
    public String resourceURL;
    public List<Url> urls;
    public Date modified;
    public Date start;
    public Date end;
    public ImageInfo thumbnail;
    public ItemList comics;
    public ItemList stories;
    public ItemList series;
    public CharacterList characters;
    public CreatorList creators;
    public Item next;
    public Item previous;
}

该类还有许多其他对象,但它们大多是字符串。

我将它包装在我的主要活动中,例如:

Intent intent = new Intent(getApplicationContext(), EventDescriptionActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelable("event", Parcels.wrap(eventList.get(position)));
intent.putExtras(bundle);
startActivity(intent);

我有一个事件列表(eventList),我试图将列表中的一个对象发送到另一个活动。

我在我的其他活动中打开它,例如:

Event event = Parcels.unwrap(this.getIntent().getExtras().get("event"));

在我的 onCreate() 里面

但是我的参数下有一条红线说:

"unwrap (android.os.Parcelable) in Parcels cannot be applied to (java.lang.Object)"
4

2 回答 2

0

所以我只是在错误行上按了alt enter,它提供了正确的类型转换......我应该更频繁地输入alt

于 2015-02-22T20:34:51.250 回答
0

这最初是文档中的一个错误。与方法一起使用的额外方法Parcels.unwrapgetParcelableExtra方法:

Event event = Parcels.unwrap(getIntent().getParcelableExtra("event"));
于 2015-09-12T20:00:05.600 回答