Bir Düzenleme Metninde Metin Nasıl Ayarlanır


Yanıtlar:


244

Belgeleri kontrol ederseniz EditText, bir setText()yöntem bulacaksınız . Bir Stringve bir alır TextView.BufferType. Örneğin:

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

Aynı zamanda TextView's setText(CharSequence)ve setText(int)yöntemlerini de miras alır , böylece onu normal bir gibi ayarlayabilirsiniz TextView:

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

6
EditText.BufferType.EDITABLE?
sll

3
Hayır, EditTextgenişler TextView; TextView.BufferType.EDITABLEdoğru sabittir.
Kevin Coppock

4
Bir aceminin kafasını karıştırabilecek şey, setText'in aslında bir CharSequence ve bir BufferType almasıdır. Bu yüzden, Dizelerin CharSequence'e ait olduğunu hatırlamakta fayda var
Avatar33

6
Neden android.text.Editable var ya da daha iyisi, neden normal geliştiricilerin EditText yerine setText (CharSequence) yöntemini boşa çıkarmak yerine onun etrafında gezinmeleri gerekiyor?
Marcelo Lacerda

3
@MarceloLacerda O maruz yapar setText(CharSequence)onun süper sınıftan TextView. Öyleyse, bunun neden en çok oy alan ve kabul edilen cevap olduğundan emin değilim?
Hendy Irawan

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

String'i CharSequence'ın yararlı bir Dolaylı Alt Sınıfı olarak buldum

http://developer.android.com/reference/android/widget/TextView.html setText'i bulun (CharSequence metni)

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


Tüm Dizelerin CharSequences olduğunu unutmayın, bu nedenle bu çalışır, ancak ham CharSequence bir String değildir. Ham bir CharSequence'iniz varsa ve bir String GEREKİYORSA, resmi String'i almak için myCharSequence.toString () 'i çağırmanız gerekir. BU başvuruyu bilmenize gerek yoktur, ancak bazen başka yerlerde bu gereklidir.
DragonLord

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

O göz atın EditTextdizeye gerekli dönüştürme bunu yalnızca dize değerleri kabul.

İnt, double, long value ise şunları yapın:

String.value(value);

3

Dize birleştirme operatörü olan + kullanın:

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

veya kullan

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

veya kullan

Integer.toString(int):
ed.setText(Integer.toString(x));

3

Kotlin'deki çözüm budur

val editText: EditText = findViewById(R.id.main_et_name)
    editText.setText("This is a text.")

2

Şunları ayarlayabilirsiniz 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

Gerek:

  1. Beyan et EditText in the xml file
  2. EditTextAktivitede bulun
  3. Metni EditText

1

Android Java'da Çözüm:

  1. EditText'inizi başlatın, kimlik xml kimliğinize gelir.

    EditText myText = (EditText)findViewById(R.id.my_text_id);
  2. OnCreate Yönteminizde, metni tanımlanan ada göre ayarlayın.

    String text = "here put the text that you want"
  3. editText'inizdeki setText yöntemini kullanın.

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

0

xmlDosyada tasarım zamanında metin ayarlamak istiyorsanız, android:text="username"bu özelliği basitçe ekleyin.

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

Java'da programlı olarak metin ayarlamak istiyorsanız

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

ve kotlinaynı şekilde getter / setter kullanan java gibi

edtUsername.setText("username")

Ama .textprensipten kullanmak istiyorsanız o zaman

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

yüzünden EditText.textbir gerektirmektedir editablefirstplace değilString

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.