gpt4 book ai didi

android - 从覆盖函数中获取数据

转载 作者:行者123 更新时间:2023-11-29 01:02:38 25 4
gpt4 key购买 nike

这可能有点奇怪,但我不知道如何在 API 调用后传递数据。我是面向对象编程的新手。

fetchedTags 在调用 fetchTags() 后为空。如何获取数据?

例如:

class MainActivity : AppCompatActivity() {

var fetchedTags: List<Tags>? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
fetchTags()
println(fetchedTags[0].name)
fetchBooks()
makeMapOutOfTagsAndBooks()
}



fun fetchTags () {
//some processing
val request = Request.Builder().url(url).build()

client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call?, response: Response?) {
val jsonData = response?.body()?.string()
val gson = GsonBuilder().setPrettyPrinting().create()
val tagList: List<Tags> = gson.fromJson(jsonData, object : TypeToken<List<Tags>>() {}.type)
fetchedTags = tagList

}
}

最佳答案

fetchBooks()
println(fetchedTags[0].name)

您在进行 http 调用后立即调用 println(fetchedTags[0].name),因为它是异步的,此时您的列表为空。

在您的onResponse 函数上调用它

关于android - 从覆盖函数中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com