【问题标题】:Fragment not retaining data片段不保留数据
【发布时间】:2018-06-08 14:00:59
【问题描述】:

我在 tablayout 中使用了一些片段,这些片段包含折线图,显示数据。但是,当我滚动一两个片段并返回时,图表是空的,几乎就像重新创建了视图一样。

片段对我来说仍然很新,所以此时我认为片段会暂停然后恢复,保存视图状态。

我找到了一个名为 setRetainInstance() 的方法,我将它设置为 true,就像这样...

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setRetainInstance(true);
    }

但是数据还是丢失了,是不是我漏了一步?

感谢任何提示/建议。

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    setRetainInstance 用于在配置更改期间保留实例,它不会存储您的数据。数据需要实现onSaveInstanceState方法保存数据,onActivityCreated方法重新加载数据。

    【讨论】:

    【解决方案2】:

    经过大量研究和许多不同的尝试,我决定使用 ViewModels,LiveData 不仅解决了我遇到的片段保留数据问题,还解决了旋转设备的问题。

    更多信息可以找到here

    【讨论】:

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