【发布时间】:2020-08-02 22:38:50
【问题描述】:
fun getSurvey() : MutableList<SurveyMaster>{
//Retrofit creates implementation for this method getSurveyList()
val call : Call<List<SurveyMaster>> = retrofitPlaceHolderAPI.getSurveyList("bearer "+customIDToken)
val surveyList = mutableListOf<SurveyMaster>()
//enqueue - executing on the background thread, to execute asynchronously
call.enqueue(object : Callback<List<SurveyMaster>>{
override fun onFailure(call: Call<List<SurveyMaster>>, t: Throwable) {
Log.e("Error", t.message)
//Log.e("Error", t.localizedMessage)
}
override fun onResponse(call: Call<List<SurveyMaster>>, response: Response<List<SurveyMaster>>) {
if (!response.isSuccessful){
Log.e("SurveyList Error", "code: "+response.code())
return
}
val surveys = response.body()
for(element in surveys!!){
surveyList.add(element)
}
}
})
return surveyList
}
Enqueue 方法在后台线程上运行,但是如何在 enqueue 方法中返回列表。上面的代码返回空列表。提前致谢
【问题讨论】:
标签: android api http kotlin retrofit