如何让LiveData观察者触发一次回调?

时间:2018-04-03 18:51:18

标签: android android-livedata

我有一种情况,我想加载一些数据来使用LiveData和ViewModel填充recyclelerview。像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    ...
    viewModel.loadData().observe(this, data -> {
        adapter = new AppsListAdapter(data);
        recyclerView.setAdapter(adapter);;
    });
}

loadData()基本上做的是返回包装数据的MutableLiveData对象。

现在问题是,每次数据更改时,LiveData观察者都会触发回调。这意味着每次数据更改时,都会创建一个新的适配器实例,效率不高。无论如何我可以在第一次回拨电话后删除观察者吗? 我希望我的问题很明确,谢谢。

0 个答案:

没有答案