我对此非常困惑。我有一个actionbar
列表导航。我点击列表一个接一个地打开2 fragment
并显示在同一活动中。我使用这种方法基本上替换它们:片段在活动轮转上重叠
public void openFragment(AprilAppsFragment createdFragment){
if (createdFragment.getClass().isInstance(getDisplayedFragment()))
return;
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.replace(R.id.main_fragment, createdFragment, "displayed fragment");
transaction.addToBackStack(null);
transaction.commit();
}
我打开片段甲,然后我打开片段乙,然后我旋转屏幕。片段A正在重新创建崩溃我的应用程序
因为我使用替换?我如何避免重新创建不再显示的碎片,而不会丢失对它们进行反压的可能性?
你可以从崩溃中添加堆栈跟踪? – ianhanniballake 2013-02-25 19:19:04
这将是无关紧要的。崩溃发生时,片段试图用数据填充其内容,但无法实例化视图组件,因为它甚至未显示 – 2013-02-25 19:20:12
您是否从“OnNavigationListener”调用该方法?如果是,请记住,活动创建/娱乐会触发侦听器。 – Luksprog 2013-03-01 14:05:10