因此,刚刚开始使用中的 Kotlin 进行操作Android Studio 3.0 Canary 7 ,我正在执行一个简单的操作来检查字符串是否为空。
这是我的简单布局:
<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 我在下面
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中编写了如下代码:
val message=edtTxt.text
if (message.equals("")) //this here
longToast("Come on! Write something")
else
longToast("You've written $message")
稍后在IDE中建议将其替换为
并且我尝试使用
if (message=="")
做到这一点,但是开始显示运算符'=='不能应用于'Editable!'。比较字符串错误时,请使用'String'和'String'。这是完全令人困惑的。我对此表示怀疑:
最佳答案
edtTxt.text
只是Java的editTxt.getText()
的替代品。因此,基本上,必须在使用String
运算符之前将其转换为==
。
如果要从Editable
对象获取字符串,请使用toString()
方法。
val message=edtTxt.text.toString()