kco*_*ock 221

如果您查看文档EditText,您将找到一种setText()方法.它需要a String和a TextView.BufferType.例如:

EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setText("Google is your friend.", TextView.BufferType.EDITABLE);
Run Code Online (Sandbox Code Playgroud)

  • 为什么android.text.Editable存在,或者更好的是,为什么普通开发人员应该绕过它而不是EditText暴露void setText(CharSequence)方法? (6认同)
  • `EditText.BufferType.EDITABLE`? (5认同)
  • 可能会让新手感到困惑的是setText实际上采用了CharSequence和BufferType.所以记住Strings是CharSequence是有用的 (3认同)
  • @MarceloLacerda它确实从它的超类`TextView`中暴露了`setText(CharSequence)`.所以我不确定为什么这是最受欢迎和接受的答案? (3认同)
  • 不,`EditText`扩展`TextView`; `TextView.BufferType.EDITABLE`是正确的常量. (2认同)

ear*_*per 20

String string="this is a text";
editText.setText(string)
Run Code Online (Sandbox Code Playgroud)

我发现String是一个有用的CharSequence间接子类

http://developer.android.com/reference/android/widget/TextView.html 找到setText(CharSequence文本)

http://developer.android.com/reference/java/lang/CharSequence.html


小智 6

String text = "Example";
EditText edtText = (EditText) findViewById(R.id.edtText);
edtText.setText(text);
Run Code Online (Sandbox Code Playgroud)

检查它EditText是否只接受字符串值,如有必要将其转换为字符串。

如果是 int、double、long 值,请执行以下操作:

String.value(value);
Run Code Online (Sandbox Code Playgroud)


小智 5

这是 Kotlin 中的解决方案

val editText: EditText = findViewById(R.id.main_et_name)
    editText.setText("This is a text.")
Run Code Online (Sandbox Code Playgroud)


小智 5

如果你使用 kotlin 那么它会给你错误如果你这样做

editText.text = "some string"
Run Code Online (Sandbox Code Playgroud)

就像使用它一样

editText.setText("some string")
Run Code Online (Sandbox Code Playgroud)