gpt4 book ai didi

android - 如何在 Kotlin 中对 .apply 中的重复语句进行分组?

转载 作者:搜寻专家 更新时间:2023-11-01 07:45:14 24 4
gpt4 key购买 nike

这是我的代码。如您所见,apply 的主体完全相同。有没有比使用扩展功能更好的?

contentText?.let { 
contentTextView?.apply {
visibility = View.VISIBLE
text = contentText
}
}

titleText?.let {
titleTextView?.apply {
visibility = View.VISIBLE
text = titleText
}
}

这是我的功能

private fun setTextAndVisiblity(textView: TextView?, newText: String?): TextView? {
return textView?.apply {
visibility = View.VISIBLE
text = newText
}
}

这是我应用函数时的代码

contentText?.let {
setVisibleText(contentTextView, it)
}

titleText?.let {
setVisibleText(titleTextView, it)
}

最佳答案

我会这样写扩展函数:

fun TextView.setVisibleIfTextNotNull(text: CharSequence?) = text?.let {
visibility = View.VISIBLE
this.text = it
}

用法:

contentTextView?.setVisibleIfTextNotNull(contentText)
titleTextView?.setVisibleIfTextNotNull(titleText)

您可以根据需要将其作为嵌套函数或私有(private)扩展函数。函数的名字可能不够清晰,无法说明函数的作用,你可能会想到一个更好的。

关于android - 如何在 Kotlin 中对 .apply 中的重复语句进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45956709/

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