1

在 FragmentActivity 中。首先,我添加了两个片段,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);

四、现在B片段在最上面,当我按回车键时,当前片段的顺序是B->A->homeFragment,上面四站没有问题;但是在第二步中,如果你替换片段而不调用 addToBackStack(null) 方法,像这样:

getSupportFragmentManager().beginTransaction().replace(R.id.common_top, A);

当最上面的fragment是B时,当我按回车键时,根据谷歌官方的Android文档,当前fragment的顺序是B->homeFragment,但是和我预期的不一致有人打电话告诉我为什么吗?我该如何解决这个问题?多谢。

4

0 回答 0