【发布时间】:2020-02-25 23:19:06
【问题描述】:
您好,我在这里遇到了大问题,这是我第一次使用改造,我是 kotlin 的新手,我不知道为什么这段代码不起作用。
这是我的改装客户
private const val BASE_URL = "https://89a6t4gtke.execute-api.eu-west-3.amazonaws.com/Prod/"
val instance : IApi by lazy{
val retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
retrofit.create(IApi::class.java)
}
这是我的响应类
data class DefaultResponse(val message: String) {}
这是我的回应:
{
"message": "GET"
}
界面
interface IApi {
@GET("hello")
fun returnHello():Call<DefaultResponse>
}
电话
toast_button.setOnClickListener{
RetrofitClient.instance
.returnHello()
.enqueue(object: Callback<DefaultResponse>{
override fun onFailure(call: retrofit2.Call<DefaultResponse>, t: Throwable) {
Toast.makeText(context,t.message + "bla",Toast.LENGTH_SHORT).show()
}
override fun onResponse(call: retrofit2.Call<DefaultResponse>,response: Response<DefaultResponse>) {
Toast.makeText(context, "empty?",Toast.LENGTH_SHORT)
}
})
}
没有 toast 消息显示,当我让我的 api 只返回一个字符串而不是 json 字符串时,我有一个错误显示,但现在我修复它时没有错误。
【问题讨论】:
-
看不清楚,屏幕上有吐司吗?我的意思是,您的 onFailure 或 OnResponse 是否被调用?
-
根本没有吐司回答
-
可能是因为你还没有在
Toast的onResponse函数中调用show -
谢谢@mightyWOZ 就是这样:)