片段不保留数据

时间:2018-06-08 14:00:59

标签: android android-fragments

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

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

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

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

然而,数据仍然丢失,我错过了一步吗?

感谢您提供任何建议/建议。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

可以找到更多信息here