片段addBackToStack bug,我不知道是不是?我用错了

时间:2013-06-28 03:24:36

标签: android

在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文档,但与我的预期不一致 有人打电话告诉我为什么吗?我该如何解决这个问题? 非常感谢。

0 个答案:

没有答案