【问题标题】:Android: Difference between ft.remove() and popBackStack() [duplicate]Android:ft.remove() 和 popBackStack() 之间的区别 [重复]
【发布时间】:2015-04-11 00:27:05
【问题描述】:

我正在尝试从堆栈中删除一个片段。我正在使用此代码:

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();

【问题讨论】:

标签: java android android-fragments fragmentmanager


【解决方案1】:

remove() 将简单地删除片段。

popBackStack() 将删除当前片段并将其替换为堆栈中的最后一个片段。为此,您需要在最后一个片段事务上执行addToBackstack()。但这不是你想做的,所以不要这样做。

【讨论】:

    猜你喜欢
    • 2014-08-16
    • 2011-04-08
    • 2012-11-24
    • 2013-06-05
    • 2021-09-29
    • 2020-05-27
    • 2016-03-23
    • 2012-08-11
    • 2012-11-24
    相关资源
    最近更新 更多