0

我目前正在使用 ViewGroup(SwipeyTab 实现)在片段之间切换。但是,某些片段“页面”被同一选项卡上的其他片段替换,所以我最初尝试过:

                FragmentTransaction ft = fragment.getFragmentManager().beginTransaction();
                ft.remove(currentFragment);                 
                ft.add(newFragment,"");
                ft.commit();

该代码将删除当前片段但不添加 newFragment(来自 Logcat,它将被实例化但不会出现)。

我最终根据当前状态将它添加到 FragmentPagerAdapter.getItem(int position) 调用中(基于此:Replace Fragment inside a ViewPager)。但是,我希望能够将每个新替换的片段添加为后堆栈的一部分。

我尝试在删除片段之前添加到 backstack:

currentFragment.getFragmentManager().beginTransaction().addToBackStack(null).commit(); FragmentTransaction ft = fragment.getFragmentManager().beginTransaction(); ft.remove(currentFragment);
ft.commit(); 但这没有用 - 它将最后一个片段添加到后台堆栈,所以当我按下后,它只会重新加载当前片段。

无论如何我可以将一个片段添加到以“非传统”方式替换的后台堆栈中吗?

4

0 回答 0