变量“观察者”可能尚未初始化

时间:2021-02-21 00:45:41

标签: android android-livedata

我试图在第一次回调后移除观察者。我运气不好。

Observer <? super List<MyEntity>> observer = new Observer<List<MyEntity>>() {
    @Override
    public void onChanged(List<MyEntity> myEntities) {
        Log.d(TAG, "observer changed");

       //Variable 'observer' might not have been initialized error here
       MySearchViewModel.getMyList().removeObserver(observer);
    }
};
MySearchViewModel.getMyList().observe(MainActivity.this, observer);

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

感谢 mrteddy。这是正确的代码:

Observer <? super List<MyEntity>> observer = new Observer<List<MyEntity>>() {
    @Override
    public void onChanged(List<MyEntity> myEntities) {

       MySearchViewModel.getMyList().removeObserver(this);
    }
};
MySearchViewModel.getMyList().observe(MainActivity.this, observer);
相关问题