gpt4 book ai didi

android-studio - 如何在 Kotlin 中返回两个值?

转载 作者:行者123 更新时间:2023-12-04 15:58:00 25 4
gpt4 key购买 nike

我目前返回 liveDataName ,但我也想回liveDataImage .

fun getProfileInfo(): LiveData<String> {

val call: Call<UserProfile>? = NetworkService.getInstance()
.jsonApi
.getProfile()
call?.enqueue(object : Callback<UserProfile>{
override fun onResponse(call: Call<UserProfile>, response: Response<UserProfile>) {
if (response.isSuccessful) {
response.body()?.let {
liveDataName.value = it.username
liveDataImage.value = it.defaultAvatar
}
}

}

override fun onFailure(call: Call<UserProfile>, t: Throwable) {}
})

return liveDataName
}

最佳答案

大多数时候,当想返回时 multiple values最好为此目的创建一个新类。例如:

data class NameAndImage(val name: String, val image: String)
然后你可以简单地返回 NameAndImage从你的功能
fun getProfileInfo(): LiveData<NameAndImage> {
return NameAndImage(liveDataName, liveDataImage)
}
在我看来,这比返回 Pair 或列表要好,因为您 100% 知道哪个值在哪里。你可以很容易地做 nameAndImage.name这比 pair.data.first更好哪里还得再想什么 first曾是..

关于android-studio - 如何在 Kotlin 中返回两个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65034880/

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