如何在kotlin中获取editText并使用toast进行显示。
var editTextHello = findViewById(R.id.editTextHello)
我尝试了这个,但显示了对象
Toast.makeText(this,editTextHello.toString(),Toast.LENGTH_SHORT).show()
答案 0 :(得分:10)
您错过了View
从findViewById
到EditText
的演员阵容:
var editTextHello = findViewById(R.id.editTextHello) as EditText
然后,您想在祝酒词中显示text
的{{1}}属性:
EditText
对于记录来说,这只是更惯用的Kotlin等同于在Toast.makeText(this, editTextHello.text, Toast.LENGTH_SHORT).show()
上调用getText()
,就像你在Java中这样做:
EditText
答案 1 :(得分:7)
这是Kotlin,不是Java。您无需获取其ID。在Kotlin中,只需写:
var editTextHello = editTextHello.text.toString()
利用科特琳的美丽;-)
P.s:顺便说一句,最好选择edx_hello之类的xml ID,对于kotlin部分,最好选择var editTextHello。然后,您可以区分xml var和kotlin var。
答案 2 :(得分:2)
投票的答案是正确的,但对于Kotlin的世界来说,这不是最好的答案。如果您真的对进入这个世界感兴趣,我建议您使用扩展程序。从Kotlin你有kotlin-android-extensions
,你可以这样做:
import kotlinx.android.synthetic.reference_to_your_view.editTextHello
和此:
Toast.makeText(this, editTextHello.text, Toast.LENGTH_SHORT).show()
请忘记getText()...使用这个,它更干净。
ps:阅读有关扩展的内容,您将看到可以创建自己的扩展,并对Toast进行更加干净的使用。像这样:
fun Context.showToast(text: CharSequence, duration: Int = Toast.LENGTH_LONG) = Toast.makeText(this, text, duration).show()
并通过你的课程这样使用它:
showToast("uhuuu")
但这超出了我们在这里讨论的范围。
来自:https://kotlinlang.org/docs/tutorials/android-plugin.html
答案 3 :(得分:1)
使用它而不是它正常工作
val obj=findViewById<EditText>(R.id.editText)
Toast.makeText(this,obj.text, Toast.LENGTH_LONG).show()
答案 4 :(得分:0)
使用 Toast.makeText(this, editTextHello.text, Toast.LENGTH_SHORT).show()
@Autowired
答案 5 :(得分:0)
Toast.makeText(this, editTextHello.text.toString(), Toast.LENGTH_SHORT).show()
如果您将edittext
视为可空,则该行将为
Toast.makeText(this, editTextHello?.text.toString(), Toast.LENGTH_SHORT).show()
答案 6 :(得分:0)
在Kotlin中,在EditText上调用 .text 就可以了,不需要 getText 或 toString
Toast.makeText(this, editTextHello.text, Toast.LENGTH_SHORT).show()
点击按钮
button?.setOnClickListener {
Toast.makeText(this,editText.text, Toast.LENGTH_LONG).show()
}
甚至不需要findViewById
答案 7 :(得分:0)
您缺少从findViewById到EditText的View强制转换。 但是,如果控件存在,则需要“ if”,然后获取文本:
val editText = findViewById(R.id.editText_main) as EditText
if (editText != null) {
val showString = editText.text.toString()
Toast.makeText(this, showString, Toast.LENGTH_SHORT).show()
}
答案 8 :(得分:0)
要保持Kotlin的标准语法,请使用
var editText:EditText = findViewById(R.id.editTextHello)