【问题标题】:Saving Fragment State methods保存片段状态方法
【发布时间】:2017-06-14 05:14:17
【问题描述】:

为了保存片段状态,我想我遇到了两种方法:

  1. 使用 onSaveInstanceState。
  2. 使用 Backstack 隐藏、添加和显示 片段。

我不确定这是两种方法还是两者都需要,例如onSaveInstanceState 是专门用来处理旋转变化的还是其中任何一个都可以用?

【问题讨论】:

  • 您可以使用 onSaveInstanceState 将数据保存在包中,并在方向更改时检索它。第一个足以处理方向变化时的片段状态。

标签: android android-fragments fragment-backstack onsaveinstancestate


【解决方案1】:

您可以使用 onSaveInstanceState 保存片段实例。不需要第二种方法。但是,您想在后压上重新创建片段,然后替换片段而不是添加片段。如果您想刷新 Fragment,请调用 Resume 方法并通过在 Resume 上调用您的方法来获取刷新的数据

@Override
    public void onBackStackChanged() {
        FragmentManager fragmentManager = getSupportFragmentManager();
        Fragment fr = fragmentManager.findFragmentById(R.id.content_frame);
        if (fr != null) {
            fr.onResume();
        }

    }

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多