以前的片段在新片段下可见

Nit*_*tri 3 android listview android-fragments

我有一个带有ViewPager的TabLayout.ViewPager有四个片段F1,F2,F3和F4.F1包含一个FrameLayout,它可以有2个片段F11和F12.最初我在FrameLayout中使用以下代码添加F11.

Fragment11 fragment11 = new Fragment11();
fragment11.setArguments(getActivity().getIntent().getExtras());
getActivity().getSupportFragmentManager().beginTransaction()
                .add(R.id.fragment_container, fragment11, Constants.FRAGMENT_11)
                .commit();
Run Code Online (Sandbox Code Playgroud)

F11包含一个ListView.当我单击此ListView中的任何项目/行时,F11将替换为F12.F12是一个细节片段.

Fragment12 fragment12 = new Fragment12();
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment12, Constants.FRAGMENT_12)
                    .addToBackStack(null)
                    .commit();
Run Code Online (Sandbox Code Playgroud)

对于正常的应用流程,它工作正常.现在假设我现在在Fragment12中并按下主页按钮.现在我打开任何繁重的应用程序(相机或任何其他应用程序)从内存中删除我的应用程序.现在我又开始了我的应用程序.

现在有两个Fragment11和一个Fragment12可见,都在同一时间.当我按下时,Fragment12被移除,现在可以看到两个Fragment11.当我单击Fragment11的ListView行时,顶部Fragment11被Fragment12替换,但是底部Fragment11仍然存在.

这就是我想要的:当应用程序从后台到达前景时,Fragment12应该是可见的,当我按下时,应该弹出Fragment12以显示Fragment11.

我怎样才能做到这一点?

Fai*_*han 10

我知道现在为时已晚,但这个答案可以帮助别人.这不是一个合适的解决方案,但它对我有用.所以,把android:clickable="true"android:background="?android:attr/colorBackground"你的片段的根视图.希望这会奏效.