Android 安卓碎片可以';我看不懂。Bundle总是空的
我编写了一个自定义静态方法来创建片段。Fragment是android.support.v4.app.Fragment的子类 创建我的片段的方法如下Android 安卓碎片可以';我看不懂。Bundle总是空的,android,android-fragments,null,bundle,Android,Android Fragments,Null,Bundle,我编写了一个自定义静态方法来创建片段。Fragment是android.support.v4.app.Fragment的子类 创建我的片段的方法如下 public static AddItemFragment newInstance(UUID listId, UUID itemId){ AddItemFragment fragment=new AddItemFragment(); Bundle bundle=new Bundle(); bundl
public static AddItemFragment newInstance(UUID listId, UUID itemId){
AddItemFragment fragment=new AddItemFragment();
Bundle bundle=new Bundle();
bundle.putSerializable(EXTRA_DATA_LIST_ID,listId);
bundle.putSerializable(EXTRA_DATA_ITEM_ID, itemId);
fragment.setArguments(bundle);
return fragment;
}
在我的onCreate方法中,我试图从bundle读取数据
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mListId = (getArguments().getSerializable(EXTRA_DATA_LIST_ID) == null ? null : (UUID) getArguments().getSerializable(EXTRA_DATA_LIST_ID));
mItemId = (getArguments().getSerializable(EXTRA_DATA_ITEM_ID) == null ? null : (UUID) getArguments().getSerializable(EXTRA_DATA_ITEM_ID));
}
问题是getArguments()方法从不返回bundle。它总是返回NULL。我不明白为什么。savedInstanceState也为NULL。我正在使用活动的savedInstanceState束覆盖片段中的束集,此时该束集为NULL
DUH…在onCreate方法中,尝试调用getIntent().getExtras()而不是getArguments。@svager您能演示如何实例化此片段的代码吗?您能解释更多吗?我还是不明白为什么