在使用Kotlin开发Android项目时遇到Rxjava 的map()类型转换出错,如下
解决方法如下:
private funrequest(observable: Observable >, consumer: Consumer ) { observable.map(HttpResult ()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(consumer, Consumer { 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> @GET("app/ground/test/land") fun getLand(@Query("access_token") access_token :String, @Query("id") id:Int):Observable >}