Questions tagged «fragment-backstack»

7
当留下深度嵌套的堆栈时,这是清理Fragment back堆栈的正确方法吗?
我正在使用Android兼容性库来实现片段,并扩展了布局示例,以便片段包含触发另一个片段的按钮。 在左侧的选择窗格中,我有5个可选项目- A B C D E。 每个都FragmentTransaction:replace在详细信息窗格中加载一个片段(通过)-a b c d e 现在,我扩展了片段e以包含一个按钮,该按钮e1也可以在详细信息窗格中加载另一个片段。我已经对fragment e的onClick方法进行了如下操作: FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); ft.replace(R.id.details_frag, newFrag); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); ft.addToBackStack(null); ft.commit(); 如果我进行以下选择: E - e - e1 - D - E 然后,片段e在详细信息窗格中。这很好,我想要的。但是,如果此时我按下back按钮,则无济于事。我必须单击两次,因为e1它仍在堆栈中。此外,单击后,在onCreateView中出现了空指针异常: 为了“解决”这个问题,无论何时A B C D E选择,我都添加了以下内容: FragmentManager fm = getActivity().getSupportFragmentManager(); for(int i = 0; i < fm.getBackStackEntryCount(); …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.