(嵌套片段)添加子片段并执行Backstack时出现ViewPager的父片段问题

时间:2018-08-13 09:00:15

标签: android-fragments android-viewpager fragment back-stack fragment-backstack

父片段的ViewPager带有2个(选项卡)子片段 DownloadsFragment RewardsFragment ,然后添加子元素片段使用下面的代码(2x)转换成父片段,因为我要添加2个子片段:

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.child_content, fragment);
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();

然后,当我想向其删除子片段时,而不是检测使用 Fragment Transaction 添加的子片段,而是检测到ViewPager中当前选定的片段。因此,预期的后堆栈将删除后堆栈中的一个子片段,并删除了这两个子片段。

我的日志显示如下:

当前结果

BACKSTACK#1

hasBackStack: WalletFragment -> true
parentFragment: WalletFragment
childFragment: DownloadsFragment
hasBackStack: DownloadsFragment -> false
popFragment: WalletFragment

但预期是:

预期结果

BACKSTACK#1

hasBackStack: WalletFragment -> true
parentFragment: WalletFragment
childFragment: TrailFragment
hasBackStack: TrailFragment -> true
parentFragment: TrailFragment
childFragment: MapFragment
hasBackStack: MapFragment -> false
popFragment: TrailFragment

BACKSTACK#2

hasBackStack: WalletFragment -> true
parentFragment: WalletFragment
childFragment: TrailFragment
hasBackStack: TrailFragment -> false
popFragment: WalletFragment

0 个答案:

没有答案