我目前正在使用ViewGroup(SwipeyTab实现)在Fragments之间切换。但是,一些片段“页面”被同一个Tab上的其他片段替换,所以我最初尝试过:
FragmentTransaction ft = fragment.getFragmentManager().beginTransaction();
ft.remove(currentFragment);
ft.add(newFragment,"");
ft.commit();
该代码将删除当前片段但不添加newFragment(来自Logcat,它将被实例化但不会出现)。
我最终根据当前状态(基于此:Replace Fragment inside a ViewPager)在FragmentPagerAdapter.getItem(int position)调用中添加它。但是,我希望能够将每个新替换的片段添加到后栈的一部分。
我尝试在删除片段之前添加到backstack:
。currentFragment.getFragmentManager()的BeginTransaction()addToBackStack(空).commit(); FragmentTransaction ft = fragment.getFragmentManager()。beginTransaction(); ft.remove(currentFragment);
ft.commit(); 并且这不起作用 - 它将最后一个片段添加到了Backstack,所以当我按下它时,它只会重新加载当前片段。
无论如何,我可以将片段添加到已经以“非传统”方式替换的Backstack中吗?