我试图使用bundle从MainActivity向其片段之一发送一个Parcelable数组。我的代码是
Bundle bundle = new Bundle();
MyFragment fragment = new MyFragment();
bundle.putParcelableArray(key, MyParcelableArray);
fragment.setArguments(bundle);
调试时,我发现MyParcelableArray不为null,但bundle mParcelledData为null。因此,它抛出一个空指针错误。 为什么会这样?
我正在检索片段onCreateView中的代码,如下所示。
Bundle bundle = getArguments();
Parcelable[] parcelables = bundle.getParcelableArray(MainActivity.key);
在上面的行中获取空指针。
答案 0 :(得分: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");