我有一种情况,我想加载一些数据来使用LiveData和ViewModel填充recyclelerview。像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
...
viewModel.loadData().observe(this, data -> {
adapter = new AppsListAdapter(data);
recyclerView.setAdapter(adapter);;
});
}
loadData()
基本上做的是返回包装数据的MutableLiveData对象。
现在问题是,每次数据更改时,LiveData观察者都会触发回调。这意味着每次数据更改时,都会创建一个新的适配器实例,效率不高。无论如何我可以在第一次回拨电话后删除观察者吗? 我希望我的问题很明确,谢谢。