Як встановити текст у редакційному тексті


Відповіді:


244

Якщо ви перевірите документи на EditText, ви знайдете setText()метод. Це займає в a Stringі a TextView.BufferType. Наприклад:

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

Він також успадковує TextView's setText(CharSequence)і setText(int)методи, так що ви можете встановити його як звичайний TextView:

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

6
EditText.BufferType.EDITABLE?
sll

3
Ні, EditTextрозширюється TextView; TextView.BufferType.EDITABLE- правильна константа.
Кевін Коппок

4
Що може бентежити новачка - це те, що setText насправді має CharSequence та BufferType. Тож корисно пам’ятати, що струни - це CharSequence
Avatar33

6
Чому існує android.text.Editable або, ще краще, чому звичайні розробники повинні орієнтуватися навколо нього замість EditText, викриваючи метод void 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 і ЗАПИТАТИ рядок, вам потрібно зателефонувати на myCharSequence.toString (), щоб отримати офіційний рядок. Не потрібно знати для цього додатка, але іноді в інших місцях це необхідно.
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

Рішення в Android Java:

  1. Запустіть EditText, ідентифікатор прийшов до вашого імені xml.

    EditText myText = (EditText)findViewById(R.id.my_text_id);
  2. у своєму методі OnCreate просто встановіть текст за визначеним ім'ям.

    String text = "here put the text that you want"
  3. використовуйте метод setText від свого editText.

    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само, як java з використанням геттера / сеттера

edtUsername.setText("username")

Але якщо ви хочете використовувати .textз принципу, то

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

через EditText.textвимагає спочатку editableніString

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.