Java Android:ft.remove()和popBackStack()之间的区别
我正在尝试从堆栈中删除一个片段。我正在使用以下代码:Java Android:ft.remove()和popBackStack()之间的区别,java,android,android-fragments,fragmentmanager,Java,Android,Android Fragments,Fragmentmanager,我正在尝试从堆栈中删除一个片段。我正在使用以下代码: FragmentManager fm = getSupportFragmentManager(); if (fm != null) { FragmentTransaction ft = fm.beginTransaction(); Fragment currentFragment = fm.findFragmentById(R.id.my_id); if (currentFragment
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()
。但这不是你想做的,所以不要做 我想看看这个答案: