【问题标题】:Backstack with multiple Fragments per layout每个布局具有多个 Fragment 的 Backstack
【发布时间】:2011-07-28 13:43:22
【问题描述】:

我想创建包含在线性布局中的多个片段的堆栈。 要将一组片段放入活动中,我使用以下代码(R.id.content 是 LinearLayout):

private void pushToBackStack(final Fragment... fragments) {
    final FragmentManager fm = getSupportFragmentManager();

    final FragmentTransaction ft = fm.beginTransaction();

    for (int i = 0; i < fragments.length; i++) {

        if (i == 0) {
            ft.replace(R.id.content, fragments[i]);
        } else {
            ft.add(R.id.content, fragments[i]);
        }
    }
    ft.addToBackStack(null);
    ft.commit();
}

当我打电话时

pushToBackStack(f1, f2);
pushToBackStack(f3, f4);
pushToBackStack(f5, f6);

屏幕上有f3,f5,f6可见,按返回键后显示f2,f3,f4。

预期的行为是 f5,f6 -> Back -> f3,f4 -> Back-> f1, f2

【问题讨论】:

    标签: android android-fragments fragment


    【解决方案1】:

    您不能以这种方式链接调用,您需要根据replaceadd 调用commit

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多