如何在EditText中设置文本


Answers:


244

如果您检查的文档EditText,将会找到一种setText()方法。它接受一个String和一个TextView.BufferType。例如:

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

它也继承TextViewsetText(CharSequence)setText(int)方法,这样你就可以设置它就像一个普通的TextView

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

6
EditText.BufferType.EDITABLE
sll

3
不,EditText扩展TextViewTextView.BufferType.EDITABLE是正确的常数。
凯文·科波克

4
可能会使新手感到困惑的是,setText实际上采用了CharSequence和BufferType。因此,记住字符串是CharSequence的字符串非常有用
Avatar33,2013年

6
为什么存在android.text.Editable,或者更好的是,为什么普通开发人员应该浏览它而不是EditText公开一个无效的setText(CharSequence)方法?
Marcelo Lacerda

3
@MarceloLacerda它确实setText(CharSequence)从其超类中公开TextView。所以我不太确定为什么这是最受好评和接受的答案?
亨迪·爱侣湾

21
String string="this is a text";
editText.setText(string)

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

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

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


请注意,所有字符串都是CharSequences,因此该字符串可以工作,但原始CharSequence不是字符串。如果您有原始CharSequence并需要一个String,则需要调用myCharSequence.toString()以获取正式的String。对于此应用程序不需要知道,但是有时在其他地方这是必需的。
DragonLord

6
String text = "Example";
EditText edtText = (EditText) findViewById(R.id.edtText);
edtText.setText(text);

检出它,EditText仅接受String值(如有必要),将其转换为字符串。

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

String.value(value);

3

使用+,字符串串联运算符:

 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));


2

您可以设置android:text="your text"

<EditText
    android:id="@+id/editTextName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/intro_name"/>


1

你需要:

  1. 声明 EditText in the xml file
  2. EditText在活动中找到
  3. EditText

1

Android Java中的解决方案:

  1. 启动您的EditText,ID进入您的xml ID。

    EditText myText = (EditText)findViewById(R.id.my_text_id);
  2. 在您的OnCreate方法中,只需按定义的名称设置文本即可。

    String text = "here put the text that you want"
  3. 使用editText中的setText方法。

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

0

如果要在设计时在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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.