【问题标题】:Fragment backstack manipulation片段回栈操作
【发布时间】:2014-06-06 17:41:12
【问题描述】:

我想按 f1、f2、f3 的顺序将片段添加到后台堆栈...如果我从 f3 或 f2 开始,我应该到达 f1,那么后台堆栈中什么都没有。 这是我使用的代码:

public void openFragment(BaseFragment baseFragment, Bundle data) {

    if (baseFragment != null) {

        if (data != null)
            baseFragment.setArguments(data);
        Log.d(TAG, "openFragment" + baseFragment);

        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction ft = fragmentManager.beginTransaction();

        String tag1 = getString(baseFragment.getTitleResourceId());

        ft.replace(R.id.fragment_main, baseFragment, tag1);
        ft.addToBackStack(null);
        ft.commit();

        if (baseFragment.getTitleResourceId() > 0)
            mCurrentTitle = baseFragment.getTitleResourceId();

    }

}

我尝试使用以下但没有办法:

public void openFragment(BaseFragment baseFragment, Bundle data) {

    if (baseFragment != null) {

        if (data != null)
            baseFragment.setArguments(data);
        Log.d(TAG, "openFragment" + baseFragment);

        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction ft = fragmentManager.beginTransaction();

        String tag1 = getString(baseFragment.getTitleResourceId());

        // Fragment frgExist = fragmentManager.findFragmentByTag(tag1);
        ft.replace(R.id.fragment_main, baseFragment, tag1);
        // if (frgExist == null)

        ft.addToBackStack(null);
        ft.commit();

        if (baseFragment.getTitleResourceId() > 0)
            mCurrentTitle = baseFragment.getTitleResourceId();

    }

}

*BaseFragment 只是抽象类扩展设置标题的片段。 谢谢。

【问题讨论】:

  • 请提问,你的问题还不够清楚=)

标签: android android-fragments back-stack


【解决方案1】:

编辑

使用this 添加到后台堆栈。作为参数,您给出一个字符串,例如:“FirstFragment”。然后你使用this 弹出回栈。您可以提供一个字符串作为参数,该字符串应为“FirstFragment”。这样你就可以弹出所有内容,直到你的第一个片段。


尝试仅将第一个(从 f1 到 f2)添加到 backstack。如果我是对的,即使您在 f3 中,这也将始终返回到 f1,因为您没有参考 f2 和 f3 之间的交易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多