无法返回添加到改造入队方法中的数组列表

问题描述 投票:0回答:1

我尝试将数组添加到改造排队方法内的数组中。但它不返回数组。我有如下代码。我不知道我犯了什么错误。

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
}

我尝试记录我的结果,它显示[]

android kotlin android-studio retrofit retrofit2
1个回答
0
投票

你必须在 onResponse() 函数中返回

templList
,因为改造需要几毫秒的时间,但在这里你返回空列表而没有得到响应。

© www.soinside.com 2019 - 2024. All rights reserved.