【发布时间】:2015-03-05 18:05:31
【问题描述】:
我有一个片段,其中有一个嵌套片段。我附上了一张图片来说明。所以我有一个嵌套的孩子,当我点击按钮1时,我用孩子B替换孩子A,然后在按钮2上点击我用孩子C替换孩子B。现在当我点击按钮3时,我替换父母(片段1用片段2),这就是我想要做的。
当我在 Fragment 2 上点击返回按钮时,我弹出 backstack 并显示 Fragment 1,问题是显示子 A,我需要弄清楚当我从 Fragment 2 转到 Fragment 时如何显示子 c 1. 我还需要提到 child c 包含显示在网格视图中的测试结果。有人可以帮我做吗?
编辑
下面是我用于子片段交易的代码(按钮 1 和按钮 2 点击)
protected void nextNestedFragment(Fragment nestedFragment){
FragmentTransaction ft = getParentFragment().getChildFragmentManager().beginTransaction();
ft.setCustomAnimations(R.animator.enter_slide_in,R.animator.enter_slide_out,R.animator.close_slide_in, R.animator.close_slide_out);
ft.replace(R.id.nested_fragment_container, nestedFragment).addToBackStack(null).commit();
}
因此,对于上述内容,我传递了我希望在父片段中导航到的下一个片段。下面是我在按钮 3 上使用的代码,用于从片段 1 导航到片段 2:
protected void nextFragment(Fragment nextFrag){
FragmentTransaction ft = getParentFragment().getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.animator.enter_slide_in,R.animator.enter_slide_out,R.animator.close_slide_in, R.animator.close_slide_out);
ft.replace(R.id.fragment_container, nextFrag).addToBackStack(null).commit();
}
【问题讨论】:
-
你有没有把另一笔交易添加到后台?
-
我把所有的交易都加到了backstack中,所以子交易和其他分片的交易。如果这有意义吗?所以基本上所有的交易都被添加到backstack中
-
您能否提供在按钮 1/2/3 按下时更改子片段的代码?
-
@Ayzen 我已经编辑了我的原始帖子以包含我用于子片段和父片段的代码
标签: android android-fragments nested savestate