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