将 textView 与 Kotlin 中的字符串进行比较

Compare a textView with a String in Kotlin

我试图在每次按下按钮时更改 android 应用程序的文本视图
问题是未应用 'if' 操作,就好像它总是返回 false
这是为什么?

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val lol: String = "Hello World!"
    button.setOnClickListener{
        if ( textview.equals(lol)){
    textview.setText("yeah")}
        else
    textview.setText("Hello World!")
}}}

Kotlin 使用 == 进行字符串比较

https://kotlinlang.org/docs/reference/equality.html

Structural equality is checked by the == operation (and its negated counterpart !=).

此外,您正在尝试比较 StringTextView,它们是两种不同的类型,因此它们永远不会相同。尝试:

if( textview.text == lol) {...

最后,作为一个建议,不要在您打算调试的代码中使用像 lol 这样的变量名。使用一个小的变量名可能快速且容易,但如果它不是描述性的,你以后尝试调试它会很糟糕,这是我个人的经验;)