android 类型不匹配:inferred type isbut Callback&lt;Post< no name provided>!&gt;!期待

ef1yzkbh  于 2023-05-27  发布在  Android
关注(0)|答案(5)|浏览(359)

我有这个功能

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为什么
请帮助这个它

nvbavucw

nvbavucw1#

您导入的包可能与实际要导入的包同名。
来源:这件事刚刚发生在我身上。当IntelliJ自动导入新类时,有时我没有仔细阅读包名。

cpjpxq1n

cpjpxq1n2#

你可能在你的代码中有:

fun call(@Body body: Any): Call<Post>

要返回的值不是错误中描述的Call<Post>
类型不匹配:推断的类型是但Callback<Post!>!期待
Call<List<Post>>

fun call(@Body body: Any): Call<List<Post>>

(Note我把Any作为参数的类型,因为我不知道它的类型。

vkc1a9a2

vkc1a9a23#

检查导入包是否来自Android或Android X

tct7dpnv

tct7dpnv4#

确保导入是

import retrofit2.Callback

而不是import javax.security.auth.callback.Callback

1tuwyuhd

1tuwyuhd5#

尝试重建这个项目,对我来说很有效。

相关问题