如何修复 Rxjava(Kotlin) 上的 subscribeWith Type 参数错误?
How to fix subscribeWith Type parameter error on Rxjava(Kotlin)?
我在 Kotlin 上使用 Rxjava
我使用 DisposableSingleObserver
,出现错误
Type Parameter bound for E in fun<E: SingleObserver<in ResponseMessage!>!> subscribeWith (observer: E!): E! is not satisfied: inferred type ! is not a subtype of SingleObserver<in ResponseMessage!>!>
和我的代码
val disposable = mFriendRepository.getFriendList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object: DisposableSingleObserver<BaseResponse>() {
override fun onSuccess(response: BaseResponse) {
Log.d("TEST", "onSuccess getFriendList")
}
override fun onError(e: Throwable) {
Log.d("TEST", "onError getFriendList")
}
})
mCompositeDisposable.add(disposable)
如何解决这个问题?
看来您必须将 DisposableSingleObserver
的类型从 BaseResponse
更改为 ResponseMessage
我在 Kotlin 上使用 Rxjava
我使用 DisposableSingleObserver
,出现错误
Type Parameter bound for E in fun<E: SingleObserver<in ResponseMessage!>!> subscribeWith (observer: E!): E! is not satisfied: inferred type ! is not a subtype of SingleObserver<in ResponseMessage!>!>
和我的代码
val disposable = mFriendRepository.getFriendList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object: DisposableSingleObserver<BaseResponse>() {
override fun onSuccess(response: BaseResponse) {
Log.d("TEST", "onSuccess getFriendList")
}
override fun onError(e: Throwable) {
Log.d("TEST", "onError getFriendList")
}
})
mCompositeDisposable.add(disposable)
如何解决这个问题?
看来您必须将 DisposableSingleObserver
的类型从 BaseResponse
更改为 ResponseMessage