其他分享
首页 > 其他分享> > android-删除一个片段,在我的情况下不会放

android-删除一个片段,在我的情况下不会放

作者:互联网

假设我有两个片段:firstFragment和secondFragment

我知道我可以通过以下方式替换片段:

fragmentTransaction.replace(R.id.fragment_placeholder, firstFragment);
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragmentTransaction.commit();

就像上面的代码所示,我没有将上面的firstFragment添加到堆栈中.

然后,我用secondFragment替换,但是这次,我将secondFragment添加到了堆栈中:

fragmentTransaction.replace(R.id.fragment_placeholder, secondFragment);
fragmentTransaction.addToBackStack(null); //add to back stack
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragmentTransaction.commit();

在我的手机屏幕上,它现在显示secondFragment.

我的问题是,如何删除未添加到堆栈的firstFragment?

解决方法:

分离碎片后,碎片将被销毁.为了确保片段仍在布局中,可以使用“层次结构查看器”透视图.要使用层次结构查看器,您必须使用仿真器或有根设备. (http://developer.android.com/guide/topics/fundamentals/fragments.html#Creating)

但是,如果您使用android-support-v4.jar支持1.6及更高版本,请确保您未在​​xml布局中定义任何片段.使用android-support-v4.jar时,无法删除xml-layout中的片段.如果您使用的片段会一直显示(例如导航),请按此操作

编辑:替换也应删除firstfragment. Replace将用给定的片段替换容器内的所有子代.

标签:android-fragments,android-layout,android-intent,android-emulator,android
来源: https://codeday.me/bug/20191201/2082098.html