我面临着这个奇怪的问题:
// definition
var myEditText: EditText? = null
.
.
.
// instantiation
myEditText = EditText(this)
myEditText?.setSingleLine(true)
myEditText?.setTextColor(Color.YELLOW)
myEditText?.setBackgroundColor(Color.RED)
myEditText?.setPadding(10, 0, 10, 0)
myEditText?.gravity = Gravity.CENTER_VERTICAL
myEditText?.inputType = InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS
myEditText?.setOnFocusChangeListener { view, hasFocus -> ...
rootView.addView(myEditText)
.
.
.
if (myEditText?.text == null || myEditText?.text.trim() == "") {
println("it's blank!") // doesn't execute
} else {
println(">>>" + myEditText?.text.trim() + "<<<")
}
// output: >>><<<
EditText()控件已正确实例化并正确显示在屏幕上。我能够输入文字,它将正确返回条目。
但是为什么不能识别文本框为空?
答案 0 :(得分:2)
myEditText?.text.toString()
您应该使用toString()
返回对象的字符串表示形式。一般而言, toString方法返回的字符串“以文字形式表示” 宾语。结果应该简洁明了,但内容丰富 这对一个人来说很容易阅读。建议所有 子类会覆盖此方法。