如何在编辑文本中设置文本

如何设置 EditText 的文本?

347839 次浏览

如果检查文档中的 EditText,您将发现一个 setText()方法。它吸收 StringTextView.BufferType。例如:

EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setText("This sets the text.", TextView.BufferType.EDITABLE);

它还继承了 TextViewsetText(CharSequence)setText(int)方法,因此您可以像设置常规 TextView一样设置它:

editText.setText("Hello world!");
editText.setText(R.string.hello_world);

你需要:

  1. 声明 EditText in the xml file
  2. 在活动中找到 EditText
  3. EditText中设置文本
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";

<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 的解决方案:

  1. 启动 EditText,ID 就会到达 xml ID。

    EditText myText = (EditText)findViewById(R.id.my_text_id);
    
  2. in your OnCreate Method, just set the text by the name defined.

    String text = "here put the text that you want"
    
  3. use setText method from your editText.

    myText.setText(text); //variable from point 2
    

如果您想在设计时在 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 相同

edtUsername.setText("username")

但是,如果您想从原则上使用 .text,那么

edtUsername.text = Editable.Factory.getInstance().newEditable("username")

因为 EditText.text首先需要 editable而不是 String

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

editText.text = "some string"

就像

editText.setText("some string")