将textView与Kotlin中的String进行比较

时间:2017-07-01 14:34:35

标签: android string textview kotlin kotlin-android-extensions

我每次按下按钮时都试图在我的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!")
}}}

1 个答案:

答案 0 :(得分:6)

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

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

  

结构相等性由!=操作检查(并且其被否定   对应String)。

另外,您尝试将if( textview.text == lol) {...TextView进行比较,它们是两种不同的类型,因此它们永远不会相同。尝试:

lol

最后,作为建议,请不要在您打算调试的代码中使用{{1}}等变量名。使用一个小的变量名称可能很快捷,但是如果它不具有描述性,那么您将在以后尝试调试时遇到不好的时间,从我的个人经验中获取它;)