Android 片段无法读取包。捆绑包始终为 NULL
Android fragment can't read bundle. Bundle is always NULL
我编写了一个自定义静态方法来创建我的片段。片段是 android.support.v4.app.Fragment class.
的子class
创建我的片段的方法如下。
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 方法中,我试图从包中读取数据。
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() 方法从不 returns 捆绑。它总是 returns NULL。我不明白为什么。 savedInstanceState 也为 NULL。
愚蠢的我用 Activity 的 savedInstanceState 包覆盖片段中的包集,此时它是 NULL .
呃...
我编写了一个自定义静态方法来创建我的片段。片段是 android.support.v4.app.Fragment class.
的子class创建我的片段的方法如下。
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 方法中,我试图从包中读取数据。
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() 方法从不 returns 捆绑。它总是 returns NULL。我不明白为什么。 savedInstanceState 也为 NULL。
愚蠢的我用 Activity 的 savedInstanceState 包覆盖片段中的包集,此时它是 NULL .
呃...