我刚接触Kotlin和Android Studio。
我试图访问输入的文本(editText),并在显示它之前做一些处理,但我无法做到这一点。
我尝试了三种不同的“变体”,但任何一种都有效。
.xml格式
<EditText
android:id="@+id/placa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/placa"
android:autofillHints=""
android:layout_gravity="center_horizontal"
android:inputType="text"/>
Kotlin:
// Objects
val button: Button = findViewById(R.id.consultar)
val editTextPlaca: EditText = findViewById(R.id.placa)
// Strings
val placa = editTextPlaca.text
val placa2 = editTextPlaca.text.toString()
val placa3 = editTextPlaca.getText().toString()
// Process String
val mensaje = "The plate is " + placa + placa2 + placa3
button.setOnClickListener {
Toast.makeText(this, mensaje, Toast.LENGTH_SHORT).show()
}
我得到的输出是:“盘子是“
谢谢你的帮忙。
2条答案
按热度按时间yv5phkfx1#
即使用户没有在
EditText
中输入任何文本,也要在单击按钮之前将值赋给字符串变量placa
、placa2
和placa3
。单击按钮时从
EditText
读取值。注意:我使用了
$
操作符来连接文本。7gcisfzg2#
之所以会有这样的输出,是因为您是在最开始提取文本,而不是在单击按钮时提取文本。
顺便说一下,Kotlin有一个方便的字符串插值功能,所以你不必用“+”连接它。你可以这样做: