我左边有一个listView,右边有一个带有checkBoxes的嵌套片段。
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()也被调用,但是当我添加片段时,屏幕的文本在每次添加时变得更加粗体:
答案 0 :(得分:0)
我弄清楚了问题,我发现当我替换片段时,第一个生命周期片段的调用是onPause方法,然后是onStop,onDestroyView e.t.c.考虑到这一点,我解决了我的问题。