在Android片段中没有调用OnCreateView

时间:2014-08-04 18:18:11

标签: android listview android-fragments arraylist android-nested-fragment

我左边有一个listView,右边有一个带有checkBoxes的嵌套片段。

enter image description here

checkBoxes位于全局声明的Arraylist中。 ArrayList是在nestedFragment的onCreateView方法中动态创建的。

onPause 方法中,我保存复选框状态。

listView的onclick监听器以这种方式替换Fragments:

 CheckNodesFragment checkNodesFragment = new CheckNodesFragment();

 FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();


 fragmentTransaction.replace(R.id.child_fragmentB, checkNodesFragment);
 fragmentTransaction.commit();

问题:当我单击Icarus或任何listview项目两次时,应用程序在 onPause()中崩溃,因为 onCreateView方法不会调用所有初始化,但只调用onPause。

然而,当我添加并且不替换片段时,所有生命周期方法都被调用,而onCreateView()也被调用,但是当我添加片段时,屏幕的文本在每次添加时变得更加粗体: enter image description here

1 个答案:

答案 0 :(得分:0)

我弄清楚了问题,我发现当我替换片段时,第一个生命周期片段的调用是onPause方法,然后是onStop,onDestroyView e.t.c.考虑到这一点,我解决了我的问题。