Cara Mengatur Teks Dalam EditText

128

Bagaimana saya bisa mengatur teks dari EditText?

user555910
sumber
8
saya ingin mengatur teks dalam edit teks itu mungkin
user555910

Jawaban:

244

Jika Anda memeriksa dokumen EditText, Anda akan menemukan setText()metode. Dibutuhkan dalam a Stringdan a TextView.BufferType. Sebagai contoh:

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

Hal ini juga mewarisi TextViews' setText(CharSequence)dan setText(int)metode, sehingga Anda dapat mengaturnya seperti biasa TextView:

editText.setText("Hello world!");
editText.setText(R.string.hello_world);
Kevin Coppock
sumber
6
EditText.BufferType.EDITABLE?
sll
3
Tidak, EditTextmeluas TextView; TextView.BufferType.EDITABLEadalah konstanta yang benar.
Kevin Coppock
4
Apa yang mungkin membingungkan seorang pemula adalah bahwa setText sebenarnya membutuhkan CharSequence dan BufferType. Jadi, perlu diingat bahwa Strings adalah milik
CharSequence
6
Mengapa android.text.Editable ada atau, lebih baik lagi, mengapa pengembang normal harus menavigasi di sekitarnya alih-alih EditText memperlihatkan metode setText (CharSequence) yang batal?
Marcelo Lacerda
3
@MarceloLacerda Itu mengekspos setText(CharSequence), dari superclass-nya TextView. Jadi saya tidak begitu yakin mengapa ini jawaban yang paling banyak dipilih & diterima?
Hendy Irawan
21
String string="this is a text";
editText.setText(string)

Saya telah menemukan String sebagai Subclass tidak langsung berguna dari CharSequence

http://developer.android.com/reference/android/widget/TextView.html find setText (Teks CharSequence)

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

earlcasper
sumber
Perhatikan bahwa semua Strings adalah CharSequences, jadi yang ini berfungsi, tetapi CharSequence yang baku bukan String. Jika Anda memiliki CharSequence mentah dan MEMBUTUHKAN String, Anda perlu menghubungi myCharSequence.toString () untuk mendapatkan String resmi. Tidak perlu tahu untuk aplikasi INI, tetapi kadang-kadang ini diperlukan.
DragonLord
6
String text = "Example";
EditText edtText = (EditText) findViewById(R.id.edtText);
edtText.setText(text);

Lihat EditTexthanya menerima nilai String jika perlu mengubahnya ke string.

Jika int, dobel, nilai panjang, lakukan:

String.value(value);
Samrat Das Choudhury
sumber
3

Gunakan +, operator penggabung string:

 ed = (EditText) findViewById (R.id.box);
    int x = 10;
    ed.setText(""+x);

atau gunakan

String.valueOf(int):
ed.setText(String.valueOf(x));

atau gunakan

Integer.toString(int):
ed.setText(Integer.toString(x));
Rajesh Wadhwa
sumber
3

Ini solusinya di Kotlin

val editText: EditText = findViewById(R.id.main_et_name)
    editText.setText("This is a text.")
Aarón Lucker
sumber
2

Anda dapat mengatur android:text="your text";

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

Kamu butuh:

  1. Nyatakan EditText in the xml file
  2. Temukan EditTextdalam aktivitas
  3. Atur teks di EditText
pengguna1695144
sumber
1

Solusi di Android Java:

  1. Mulai EditText Anda, ID datang ke id xml Anda.

    EditText myText = (EditText)findViewById(R.id.my_text_id);
  2. di Metode OnCreate Anda, cukup atur teks dengan nama yang ditentukan.

    String text = "here put the text that you want"
  3. gunakan metode setText dari editText Anda.

    myText.setText(text); //variable from point 2
Vinicius Mesquita
sumber
0

Jika Anda ingin mengatur teks pada waktu desain dalam xmlfile cukup android:text="username"tambahkan properti ini.

<EditText
    android:id="@+id/edtUsername"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="username"/>

Jika Anda ingin mengatur teks secara terprogram di Jawa

EditText edtUsername = findViewById(R.id.edtUsername);
edtUsername.setText("username");

dan kotlinsama seperti java menggunakan getter / setter

edtUsername.setText("username")

Tetapi jika Anda ingin menggunakan .textprinsip maka

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

karena EditText.textmemerlukan editabledi tempat pertama tidakString

Dinesh
sumber