gpt4 book ai didi

android - 如何使用相同的变量从 2 个不同的类接收额外的 Intent ?

转载 作者:行者123 更新时间:2023-11-29 16:45:03 26 4
gpt4 key购买 nike

我在一个类中有一个变量,它像这样从 viewHolder A 获取额外的 Intent 值

 var artistName = intent.getStringExtra(viewHolderA.ARTIST_NAME)

现在假设我有 viewHolder B,我也想将一个值传递给 artistName

 var artistName = intent.getStringExtra(viewHolderB.ARTIST_NAME)

有没有办法检查来自 viewHolderA 的 intent.getStringExtra 是否为空然后来自 viewholder B 的 getStringExtra?

最佳答案

如果您没有将字符串 extra viewHolderA.ARTIST_NAME 设置为 "",则 intent.getStringExtra(viewHolderA.ARTIST_NAME) 将返回 null 或一些有意义的值。

在那种情况下,

var artistName = intent.getStringExtra(viewHolderA.ARTIST_NAME) ?: intent.getStringExtra(viewHolderB.ARTIST_NAME)

这等于

var artistName: String? = null
if (intent.getStringExtra(viewHolderA.ARTIST_NAME) == null) {
artistName = intent.getStringExtra(viewHolderB.ARTIST_NAME)
} else {
artistName = intent.getStringExtra(viewHolderA.ARTIST_NAME)
}

使用 Elvis operator .


如果我们不确定 viewHolderA.ARTIST_NAME是否可以是 "",你可以使用

var artistName = if (intent.getStringExtra(viewHolderA.ARTIST_NAME).isNullOrEmpty()) {
intent.getStringExtra(viewHolderB.ARTIST_NAME)
} else {
intent.getStringExtra(viewHolderA.ARTIST_NAME)
}

因为 Kotlin 中的 if (condition) A else Bcondition 相同? A : B 在 Java 中。 (这里,当 null"" 时,方法 isNullOrEmpty() 为真。)

关于android - 如何使用相同的变量从 2 个不同的类接收额外的 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48866323/

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