android - 变量“观察者”可能尚未初始化
问题描述
我试图在第一次回调后删除观察者。我没有运气。
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);
我该如何解决这个问题?
解决方案
感谢先生泰迪。这是正确的代码:
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);
推荐阅读
- python - python 上 youtube_dl 的 SSL 证书错误
- docker - 如何将 vs code dev 容器与现有的 docker-compose 文件一起使用?
- javascript - 处理输入数组 -React
- amazon-eks - EKS Fargate Fluent-Bit 多输出
- java - 过滤 ACTION_PROCESS_TEXT 以在检测到电话号码时执行操作
- node.js - 无法将图像文件发布到服务器
- postgresql - 使用新添加的列更新表,该列包含来自同一表旧列的数据,但已修改(展平)jsonb
- postgresql - 为什么这个嵌套的 INNER JOIN 在 POSTGRESQL 中不起作用?
- azure - 通过 template.json 文件从 Storageacct 安装应用程序...我们需要通过参数传递 storageName 和 Key,因此它不是硬编码的
- c# - 在 TFS 中创建单独的搁置集