如何从类中获取通用列表并将其呈现给适配器?

时间:2018-08-13 08:24:25

标签: android generics kotlin

我有一个从远程服务器获取的数据列表,该列表位于SuccessResponse类中,其类型为常规类型,并且我有一个方法可以根据响应来返回列表或错误消息从服务器上获取。我遇到的问题是我无法找到将列表发送到适配器并使用它的正确方法,从而无法在UI中显示数据!

这是我的SuccessResponse类:

data class SuccessResponse<T>(override val data: T) : ISuccessResponse<T>

这是我的返回响应的方法:

 fun <E> getResponse()
        : Result<ErrorResponse<MyResponse<Data>>, SuccessResponse<List<Data>?>> {
    return request(MyApplication().createRetrofitInstance(), { it.data}, MyResponse())
}

这是我的服务器请求类:

 @GET(HEADLINE)
 fun getResponse(): Call<MyResponse<Data>>

这是我的活动:

 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    Thread {
        adapter = MainAdapter(dataRemoteImpl.getResponse() , this)
        runOnUiThread {
            my_recyclerview.layoutManager = LinearLayoutManager(this@MainActivity)
            my_recyclerview.adapter = adapter
        }
    }.start()


}

适配器和getResponse方法不能一起使用,因为适配器不接受它作为参数,而且我希望getResponse方法中的错误处理部分不只是盲目地返回一个列表!

0 个答案:

没有答案