Сравните текстовое изображение с строкой в ​​Котлине

Я пытаюсь изменить текстовое представление в приложении для Android каждый раз, когда нажимаю кнопку
проблема в том, что действия «если» не применяются, как если бы он всегда возвращал 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

Структурное равенство проверяется операцией == (и ее отрицательной копией != ).

Кроме того, вы пытаетесь сравнить String с TextView , это два разных типа, поэтому они никогда не будут одинаковыми. Пытаться:

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

Наконец, как совет, не используйте имена переменных, такие как lol в коде, который вы собираетесь когда-либо отлаживать. Быстрое и простое использование небольшого имени переменной, но если это не описательно, у вас будет плохое время, чтобы отладить его позже, возьмите его из моего личного опыта;)

Intereting Posts