Java-Android:ft.remove()和popBackStack()之间的区别
作者:互联网
这个问题已经在这里有了答案: > How do popBackStack() and replace() operations differ? 2个
我正在尝试从堆栈中删除一个片段.我正在使用此代码:
FragmentManager fm = getSupportFragmentManager();
if (fm != null) {
FragmentTransaction ft = fm.beginTransaction();
Fragment currentFragment = fm.findFragmentById(R.id.my_id);
if (currentFragment != null) {
ft.remove(currentFragment);
ft.commit();
}
}
我需要使用上面的代码调用popBackStack()吗?
fm.popBackStack();
解决方法:
remove()只会删除片段.
popBackStack()将删除当前片段,并将其替换为堆栈中的最后一个片段.为此,您需要在最后一个片段事务上执行addToBackstack().但这不是您想要执行的操作,因此请不要执行此操作.
标签:fragmentmanager,android-fragments,java,android 来源: https://codeday.me/bug/20191120/2044446.html