迁移到AndroidX后的SingleLiveEvent问题

迁移到AndroidX后的SingleLiveEvent问题,android,android-studio,android-livedata,Android,Android Studio,Android Livedata,使用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,

使用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.
SingleLiveEvent.java:29:error:name clash:SingleLiveEvent中的observe(LifecycleOwner,Observer)和observe(LifecycleOwner,Observer)我发现了问题。
LiveData提供了以下功能:

public void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer)

public void observe(@NonNull LifecycleOwner owner,@NonNull observe我在Kotlin中搜索此解决方案:


覆盖乐趣观察(@NonNull所有者:LifecycleOwner,@NonNull观察者:观察者)

SingleLiveEvent中的observe方法正在重写LiveData中的observe方法,但第2个参数中的擦除不匹配。一个是Observer帮助我更好地理解这一点,陷在同一问题中能否添加一些解释?迁移到androidX时,我遇到了这个问题。由于我的SingleLiveEvent类在Kotlin中,observ函数在Kotlin中应该是这样的:
override-fun-observe(@NonNull-owner:LifecycleOwner,@NonNull-observator:observator)
public void observe(LifecycleOwner owner, final Observer<T> observer)