2011-03-07 69 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"); 
}