我尝试将数组添加到改造排队方法内的数组中。但它不返回数组。我有如下代码。我不知道我犯了什么错误。
private fun getAllAudio():ArrayList<Music>{
val templList = ArrayList<Music>()
val service = SongFactory.makeSongLists()
val response = service.getAllSongs()
response.enqueue(object :Callback<ArrayList<Music>>{
override fun onResponse(
call: Call<ArrayList<Music>>,
response: Response<ArrayList<Music>>
) {
response.body()?.let {
for (items in it){
var music = Music(items.album,items.artist,items.duration,items.id,items.path,items.songuri,items.title)
templList.add(music)
}
}
}
override fun onFailure(call: Call<ArrayList<Music>>, t: Throwable) {
Toast.makeText(this@MainActivity, "Error ${t.message}", Toast.LENGTH_SHORT).show()
}
})
Log.d("get",templList.toString())
return templList
}
我尝试记录我的结果,它显示[]
你必须在 onResponse() 函数中返回
templList
,因为改造需要几毫秒的时间,但在这里你返回空列表而没有得到响应。