我有一个framelayout,我在其中添加了一个listfragment并将其添加到backstack。如果用户选择该列表中的项目,我将启动一个新事务并用新的事务替换最后一个片段。但是当我按下后退按钮时,我看不到我的第一个列表片段,而是看到原始的闪屏。
我是否必须在相同的事务中替换片段才能导航回到最后一个片段?
这是我的代码:
//添加第一个片段:
private void addRouteCategoryFragment(){
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft=fm.beginTransaction();
ft.add(R.id.fragment_content, new RouteCategoryFragment(),ROUTE_CATEGORY_TAG);
ft.addToBackStack(null);
ft.commit();
}
//一旦用户选择了RouteCategoryFragment中的项目,我就将其替换为其他片段 -
private void handleRuralRoutesClick(){
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_content, new CountyListFragment(),COUNTY_TAG);
ft.addToBackStack(null);
ft.commit();
}
由于
Apurva