【问题标题】:fragments and screen orientation changes片段和屏幕方向变化
【发布时间】:2011-12-15 22:18:00
【问题描述】:

我不明白片段和屏幕方向应该如何在 android 中工作。

我有一个用 XML 定义的片段。

片段的创建成本很高,所以我想重复使用它。

我的代码如下所示:

@Override
protected void onSaveInstanceState (Bundle outState) {
    super.onSaveInstanceState(outState);
    getSupportFragmentManager().putFragment(outState, "myfrag", mFrag);
}

@Override
protected void onRestoreInstanceState (Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    mFrag = getSupportFragmentManager().getFragment(savedInstanceState, "myfrag");
}

我不明白如何用我重新获得的片段替换 XML 中的片段。当我进行屏幕方向更改时,它最终会破坏我的活动并重新创建它,但如果我可以保存我的片段并重新使用它,它应该会使方向更改更快。

tia.

【问题讨论】:

    标签: android orientation fragment


    【解决方案1】:

    您可以在 xml 中创建一个框架布局,在代码中创建一个片段。然后将创建的片段添加到您的框架布局中。在方向更改时,您尝试使用标签或 id 找到您创建的片段并执行一些删除/添加操作。

    fragmentmanager.findFragmentByTag(" ... ");
    fragmentmanager.add(R.id.fragmentContainer, myFragment, "...");
    

    类似的东西。

    http://developer.android.com/guide/topics/fundamentals/fragments.html 查看“或者,以编程方式将片段添加到现有 ViewGroup”小节。这是“将片段添加到活动”部分的子部分。

    亲切的问候, 布拉姆

    【讨论】:

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