我试图在EditText中设置文本,但它说:

Type mismatch. 
Required: Editable 
Found: String

我的代码如下:

String name = "Paramjeet"
val nametxt = findViewById (R.id.nametxt) as EditText
nametxt.text = name

不要说使用setText,因为我使用的是kotlin,而不是Java。


当前回答

或者转换为TextView,但我相信这应该在kotlin方面确定为方便开发人员!

(someEditText as TextView).text = "someTextValue"

或者有一些扩展:

val EditText.asTextView: TextView get() = this as TextView

var EditText.value: CharSequence? 
    get() = asTextView.text
    set(value) {
        asTextView.text = value
    }

你可以这样写:

someEditText.asTextView.text = "someTextValue"

or

someEditText.value = "someTextValue"

但遗憾的是,您不能编写简单的someEditText。text = "someTextValue"

其他回答

简单的解决方案

只需使用edittext. settext (yourdata)而不是edittext。因为EditText是可编辑的,EditText。text用于TextView

例如:

var name:String = "Muzammil"
edittext.setText(name)

这就是我的工作。

或者转换为TextView,但我相信这应该在kotlin方面确定为方便开发人员!

(someEditText as TextView).text = "someTextValue"

或者有一些扩展:

val EditText.asTextView: TextView get() = this as TextView

var EditText.value: CharSequence? 
    get() = asTextView.text
    set(value) {
        asTextView.text = value
    }

你可以这样写:

someEditText.asTextView.text = "someTextValue"

or

someEditText.value = "someTextValue"

但遗憾的是,您不能编写简单的someEditText。text = "someTextValue"

var name:String = "hello world"

textview.text = name

(or)

var editText:String = "hello world"

textview.setText(name)

setText(String),所以你必须setText你的字符串到editText,所以在你的情况下是:nametext .setText(name)

像这样使用:

edtTitle.setText(intent.getStringExtra(EXTRA_TITLE))
edtDesc.setText(intent.getStringExtra(EXTRA_DESC))