在FragmentActivity.First中,我按FragmentTransaction
添加两个片段
见下文:
MyFragmentManager manager;
FragmentTransaction fragmentTransaction;
FragmentManager fragmentManager;
MainBottomFragment bottom;
fragmentManager = getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
manager = new MyFragmentManager(this);
Fragment bottomFragment = new MainBottomFragment(this);
Fragment homePageFragment= new HomePageFragment(this);
fragmentTransaction.add(R.id.common_bottom, bottomFragment);
fragmentTransaction.add(R.id.common_top, homePageFragment= );
fragmentTransaction.commit();
其次,在homePageFragment片段中,我需要处理一个按钮点击事件到下一个片段(A), 然后在片段中,我处理:
getSupportFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.common_top, A);
第三,在A片段中,我需要处理一个按钮点击事件到下一个片段(B), 然后在片段中,我处理:
getSupportFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.common_top,B);
Fouth,现在B片段在顶部,当我按下返回键时,当前片段的顺序是B-> A-> homeFragment,上面四个停止没有问题; 但是在第二步中,如果你在没有调用addToBackStack(null)方法的情况下替换片段,就像这样:
getSupportFragmentManager().beginTransaction().replace(R.id.common_top, A);
当顶部片段为B时,当我按下返回键时,当前片段的顺序为 B-> homeFragment根据Google的官方Android文档,但与我的预期不一致 有人打电话告诉我为什么吗?我该如何解决这个问题? 非常感谢。