首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin -运算符“==”不能应用于“可编辑”!比较字符串时的“string”

Kotlin -运算符“==”不能应用于“可编辑”!比较字符串时的“string”
EN

Stack Overflow用户
提问于 2017-07-19 10:12:45
回答 2查看 3.7K关注 0票数 6

因此,刚开始在AndroidStudio3.0金丝雀7中使用Kotlin,我执行了一个检查字符串是否为空的简单操作。

以下是我的简单布局:

代码语言:javascript
复制
<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click me"
        android:id="@+id/btnClick"/>
<EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Write something to print"
        android:id="@+id/edtTxt"/>

关于MainActivity.kt,我有下面的东西

代码语言:javascript
复制
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btnClick.setOnClickListener {
            val message=edtTxt.text
            if (message == "")
                longToast("Come on! Write something")
            else
                longToast("You've written $message")
        }
    }
}

因此,最初我在clicklistener中编写了代码,如

代码语言:javascript
复制
val message=edtTxt.text
if (message.equals("")) //this here
    longToast("Come on! Write something")
else
    longToast("You've written $message")

稍后IDE建议将其替换为

我试着用if (message=="")做这件事,但这开始显示运算符“==”不能应用于“可编辑”!和“string”比较字符串错误。这完全令人困惑。

我对此表示怀疑:

  • 这到底是什么意思?
  • 我如何应用IDE建议的内容,或者有什么解决办法来完成这一任务?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-19 10:23:28

edtTxt.text只是java的editTxt.getText()的替代品。因此,基本上,在使用String运算符之前,必须将其转换为==

如果要从Editable对象获取字符串,请使用toString()方法。

代码语言:javascript
复制
val message=edtTxt.text.toString()
票数 7
EN

Stack Overflow用户

发布于 2017-07-19 10:27:16

代码语言:javascript
复制
btnClick.setOnClickListener {
    // edtTxt.text  type of EditText
    val message=edtTxt.text.toString() 
    if (message == "")
        longToast("Come on! Write something")
    else
        longToast("You've written $message")
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45187483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档