6
如果存在,如何从BackStack恢复Fragment
我正在学习如何使用片段。我有三个实例Fragment在类的顶部被初始化。我将片段添加到这样的活动中: 声明和初始化: Fragment A = new AFragment(); Fragment B = new BFragment(); Fragment C = new CFragment(); 替换/添加: FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, A); ft.addToBackStack(null); ft.commit(); 这些摘要运行正常。每个片段都附加到该活动,并毫无问题地保存到后台堆栈。 因此,当我启动A,,C然后启动时,B堆栈如下所示: | | |B| |C| |A| ___ 当我按下“后退”按钮时,它B被破坏并C恢复。 但是,当我A第二次启动fragment 时,它不是从back stack恢复,而是添加到back stack的顶部 | | |A| |C| |A| ___ 但是我想恢复A并销毁所有碎片(如果有的话)。实际上,我只是喜欢默认的反向堆栈行为。 我该如何完成? 预期:(A应该恢复,并且应该破坏顶部片段) | | …