2011-03-07 46 views
2

我想在活动之间发送对象。阅读这篇文章后,我得出结论:使用Parcelable是最好的方法,因为它具有最低的性能影响。我想这样做的原因是因为我需要从网络下载数据来创建一个对象,所以我不想继续下载数据。在库类上使用Parcelable

但是,为了使用Parcel,该类需要实现Parcelable。正如我试图发送一个库中定义的对象,我不能编辑类包含此。

什么是解决我的困境的最好方法?

我已经尝试过扩展库类并实现Parcelable,但是因ClassCastException失败。我也见过提到我应该制作一个Parcelable类来包装我的图书馆类并发送它?

谢谢!

+0

在某些时候你会需要扩展库类,并实现序列化的两种方式。 – startoftext 2013-07-15 22:20:10

回答

0

您是否尝试过使用Bundle

例如,如果你有parcelable类用户

Bundle bundle = new Bundle(); 
List<User> users = new ArrayList<User>(); 
String userName = user.setUserName("some name"); 
boolean isOnline = user.setOnline(true); 
users.add(user); 
bundle.putParcelableArrayList("USER", users); 

你可以检索此为:

public ArrayList<User> getParcelableArrayList(Bundle bundle){ 
    List<User> userList = new ArrayList<User>(); 
    userList = bundle.getParcelableArrayList("USER"); 
}