Android片段无法读取捆绑包。 Bundle始终为NULL

时间:2015-04-13 01:31:55

标签: 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();
        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。

1 个答案:

答案 0 :(得分:0)

愚蠢的我在片段中覆盖了活动的 savedInstanceState 捆绑包中的捆绑设置,此时捆绑 NULL

... DUH