我有这个功能
val client = NetworkService()
val call = client.getService().getAllPost()
call.enqueue(object : Callback<ArrayList<Post>>{
override fun onFailure(call: Call<ArrayList<Post>>, t: Throwable) {
Toast.makeText(this@MainActivity, "Get post failed", Toast.LENGTH_LONG).show()
}
override fun onResponse(
call: Call<ArrayList<Post>>,
response: Response<ArrayList<Post>>) {
response.body()?.let{
post ->
adapter?.updateData(post)
}?: kotlin.run {
Toast.makeText(this@MainActivity, "Get post failed", Toast.LENGTH_LONG).show()
}
}
})
}
- 犯错误 *
Type mismatch: inferred type is <no name provided> but Callback<Post!>! was expected
在call.enqueue(object : Callback<ArrayList<Post>>
回调数组列表中不想处理对象,idk为什么
请帮助这个它
5条答案
按热度按时间nvbavucw1#
您导入的包可能与实际要导入的包同名。
来源:这件事刚刚发生在我身上。当IntelliJ自动导入新类时,有时我没有仔细阅读包名。
cpjpxq1n2#
你可能在你的代码中有:
要返回的值不是错误中描述的
Call<Post>
:类型不匹配:推断的类型是但Callback<Post!>!期待
Call<List<Post>>
:(Note我把
Any
作为参数的类型,因为我不知道它的类型。vkc1a9a23#
检查导入包是否来自Android或Android X
tct7dpnv4#
确保导入是
而不是
import javax.security.auth.callback.Callback
1tuwyuhd5#
尝试重建这个项目,对我来说很有效。