如何设置 EditText 的文本?
如果检查文档中的 EditText,您将发现一个 setText()方法。它吸收 String和 TextView.BufferType。例如:
EditText
setText()
String
TextView.BufferType
EditText editText = (EditText)findViewById(R.id.edit_text); editText.setText("This sets the text.", TextView.BufferType.EDITABLE);
它还继承了 TextView的 setText(CharSequence)和 setText(int)方法,因此您可以像设置常规 TextView一样设置它:
TextView
setText(CharSequence)
setText(int)
editText.setText("Hello world!"); editText.setText(R.string.hello_world);
editTextObject.setText(CharSequence)
Http://developer.android.com/reference/android/widget/textview.html#settext (java.lang. charSequence )
你需要:
EditText in the xml file
String string="this is a text"; editText.setText(string)
我发现 String 是一个有用的 CharSequence 的间接子类
Http://developer.android.com/reference/android/widget/textview.html find setText (CharSequence text)
Http://developer.android.com/reference/java/lang/charsequence.html
使用 + ,字符串连接操作符:
ed = (EditText) findViewById (R.id.box); int x = 10; ed.setText(""+x);
或使用
String.valueOf(int): ed.setText(String.valueOf(x));
Integer.toString(int): ed.setText(Integer.toString(x));
你可以设置 android:text="your text";
android:text="your text"
<EditText android:id="@+id/editTextName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/intro_name"/>
String text = "Example"; EditText edtText = (EditText) findViewById(R.id.edtText); edtText.setText(text);
检查它 EditText只接受字符串值,如果必要转换为字符串。
如果 int、 double、 long 值,请执行:
String.value(value);
这就是 Kotlin 的解决方案
val editText: EditText = findViewById(R.id.main_et_name) editText.setText("This is a text.")
Android Java 的解决方案:
启动 EditText,ID 就会到达 xml ID。
EditText myText = (EditText)findViewById(R.id.my_text_id);
in your OnCreate Method, just set the text by the name defined.
String text = "here put the text that you want"
use setText method from your editText.
myText.setText(text); //variable from point 2
如果您想在设计时在 xml文件中设置文本,只需简单的 android:text="username"添加此属性。
xml
android:text="username"
<EditText android:id="@+id/edtUsername" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="username"/>
如果要在 Java 中以编程方式设置文本
EditText edtUsername = findViewById(R.id.edtUsername); edtUsername.setText("username");
在 kotlin中使用 getter/setter 与 java 相同
kotlin
edtUsername.setText("username")
但是,如果您想从原则上使用 .text,那么
.text
edtUsername.text = Editable.Factory.getInstance().newEditable("username")
因为 EditText.text首先需要 editable而不是 String
EditText.text
editable
如果你使用 kotlin 那么它会给你错误,如果你这样做
editText.text = "some string"
就像
editText.setText("some string")