您的位置:首页 > 编程语言 > Java开发

Kotlin中使用RxJAVA的map()操作符遇到的问题

2017-05-26 00:00 232 查看
在使用Kotlin开发Android项目时遇到Rxjava 的map()类型转换出错,如下


解决方法如下:

private fun <T> request(observable: Observable<ApiResult<T>>, consumer: Consumer<T>) {
observable.map(HttpResult<T>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(consumer, Consumer<Throwable> { t ->
dismissDialog()
Toast.makeText(this@MainActivity, t!!.message, Toast.LENGTH_LONG).show()
})


其中

Observable<需要的类型> 与 ApiService.Class 中请求方法返回值类型的一致

ApiService.Class 代码如下:

interface ApiService {

@POST("oauth2/token/access_token")
fun getAccessToken(@Query("grant_type") grant_type : String,
@Query(value = "username", encoded = true) username :String,
@Query(value = "password", encoded = true) password:String) : Observable<ApiResult<OAuthTokenBean>>

@GET("app/ground/test/land")
fun getLand(@Query("access_token") access_token :String,
@Query("id") id:Int):Observable<ApiResult<Land>>

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: