- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
使用 Android studio 3.2.1 迁移到 AndroidX 后,由于此错误,我无法运行应用程序:
SingleLiveEvent.java:29: error: name clash: observe(LifecycleOwner,Observer<T#1>) in SingleLiveEvent and observe(LifecycleOwner,Observer<? super T#2>) in LiveData have the same erasure, yet neither overrides the other
public void observe(LifecycleOwner owner, final Observer<T> observer) {
^
where T#1,T#2 are type-variables:
T#1 extends Object declared in class SingleLiveEvent
T#2 extends Object declared in class LiveData
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
我用谷歌搜索了一下,找到了其他的解决方案,但是如何优雅地解决这个问题呢?我不想在使用单个实时事件的每个地方重构整个应用程序。
最佳答案
我发现了问题。LiveData 提供了这个:
public void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer)
虽然 SingleLiveEvent 提供:
public void observe(LifecycleOwner owner, final Observer<T> observer)
解决方案是更改SingleLiveEvent中的方法签名以匹配LiveData
关于android - 迁移到 AndroidX 后的 SingleLiveEvent 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53715880/
我最近在我的 Android 应用中采用了 MVVM。为了解决应用程序生命周期的潜在问题,谷歌发布了LiveData。 正如 medium article wrote by Jose Alcérrec
我有一个 SingleLiveEvent多变的。从 api 获得响应后,我将其发布。我的回调被调用并显示一个弹出窗口。我的问题是我将如何编写测试用例来检查我的弹出窗口是否显示。 现场 Activity
我一直在使用 SingleLiveData 类,可以找到 here .我的问题是: SingleLiveData 实际上是 Android 架构组件的一部分吗? 使用它是个好主意吗? 最佳答案 Is
我现在正在使用最新的 Android 架构组件,尤其是 ViewModel 和 LiveData。 我的情况是 SingleLiveEvent建议here是相关的,即我正在返回一个错误,我只想显示一次
使用 Android studio 3.2.1 迁移到 AndroidX 后,由于此错误,我无法运行应用程序: SingleLiveEvent.java:29: error: name clash:
我的 Android 应用程序中有一个 ViewModel,它具有一些逻辑,并且 View 需要根据该逻辑的结果进行调整/执行不同的操作。起初,我尝试只与观察者一起做,并对 View 模型中的数据状态
我尝试制作包含两个字段(用户名,密码)的示例登录页面,并使用android架构组件保存按钮,使用android数据绑定(bind),验证viewmodel中的数据并从 View 模型中调用存储库以进行
我在修补 SingleLiveEvent .是否可以将它与 Room 数据库一起使用?我尝试使用它并得到一个构建错误,提示 Not sure how to convert a Cursor to th
我是一名优秀的程序员,十分优秀!