将textView与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
结构相等性是通过
==
操作(及其否定对象!=
)来检查的。
另外,你试图比较一个String
到一个TextView
,他们是两种不同的类型,所以他们永远不会是一样的。 尝试:
if( textview.text == lol) {...
最后,作为一个建议的话,不要在代码中使用像你想要调试的变量名称。 使用一个小的变量名可能会很快很容易,但是如果它不具有描述性,那么稍后将会尝试调试它,这会从我个人的经验中得到;)