【问题标题】:Compare a textView with a String in Kotlin在 Kotlin 中将 textView 与字符串进行比较
【发布时间】:2017-07-01 14:34:34
【问题描述】:

每次按下按钮时,我都会尝试更改我的 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!")
}}}

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    最后,作为一个忠告,不要在你打算调试的代码中使用像lol 这样的变量名。使用一个小的变量名可能既快速又容易,但如果它不是描述性的,那么以后尝试调试它会很麻烦,请从我的个人经验中获取 ;)

    【讨论】:

    • 错误:运算符 '==' 不能应用于 'TextView!'和'字符串'
    • 哦,您正在将字符串与文本视图进行比较,这就是原因,请参阅更新后的答案
    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2012-10-06
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多