2015-11-21 100 views
-1

我想從MainActivity發送一個Parcelable數組到其片段之一使用包。我的代碼是使用包發送活動數據到其片段

Bundle bundle = new Bundle(); 
MyFragment fragment = new MyFragment(); 
bundle.putParcelableArray(key, MyParcelableArray); 
fragment.setArguments(bundle); 

調試時,我發現MyParcelableArray不爲null,但捆綁包mParcelledData爲null。因此,它會拋出空指針錯誤。 這是怎麼回事?

我正在檢索片段onCreateView中的代碼,如下所示。

Bundle bundle = getArguments(); 
Parcelable[] parcelables = bundle.getParcelableArray(MainActivity.key); 

在上述行中獲取空指針。

+0

有沒有'mParcelledData'您所顯示的代碼。何時何地得到'NullPointerException'? – dhke

+0

分享你的代碼,你正在檢索你的parcelable列表 – Anjali

+0

Object需要實現Parcelable接口。然後,您可以使用Bundle.putParcelableArray()方法將其發送到捆綁包中。 [點擊此處](http://developer.android.com/reference/android/os/Bundle.html#putParcelableArray%28java.lang.String,%20android.os.Parcelable%5B%5D%29) –

回答

0

當打開下面的代碼

Bundle bundle= new Bundle(); 
bundle.putSerializable("data", MyParcelableArray); 
ListFrag newFragment = new ListFrag(); 
newFragment.setArguments(bundle); 

片段使用,而獲得該捆數據片段中使用下面的代碼

Bundle b = getArguments(); 
ArrayList<collection> yourArrayList = (ArrayList<collection>) b.getSerializable("data"); 
相關問題