我试图在EditText中设置文本,但它说:
Type mismatch.
Required: Editable
Found: String
我的代码如下:
String name = "Paramjeet"
val nametxt = findViewById (R.id.nametxt) as EditText
nametxt.text = name
不要说使用setText,因为我使用的是kotlin,而不是Java。
我试图在EditText中设置文本,但它说:
Type mismatch.
Required: Editable
Found: String
我的代码如下:
String name = "Paramjeet"
val nametxt = findViewById (R.id.nametxt) as EditText
nametxt.text = name
不要说使用setText,因为我使用的是kotlin,而不是Java。
当前回答
这里有几个有效的答案,但如果你仍然想使用属性格式并让你的代码看起来干净,你可以写一个扩展:
fun String.toEditable(): Editable = Editable.Factory.getInstance().newEditable(this)
然后你可以这样使用它:
mEditText.text = myString.toEditable()
其他回答
使用setText(String),因为editText。text需要一个可编辑的,而不是字符串。
var name:String = "hello world"
textview.text = name
(or)
var editText:String = "hello world"
textview.setText(name)
或者你可以使用extension属性:
var EditText.value
get() = this.text.toString()
set(value) {
this.setText(value)
}
使用.value=代替.text=
简单的解决方案
只需使用edittext. settext (yourdata)而不是edittext。因为EditText是可编辑的,EditText。text用于TextView
例如:
var name:String = "Muzammil"
edittext.setText(name)
这就是我的工作。
像这样使用:
edtTitle.setText(intent.getStringExtra(EXTRA_TITLE))
edtDesc.setText(intent.getStringExtra(EXTRA_DESC))