Comment définir du texte dans un EditText


Réponses:


244

Si vous consultez la documentation EditText, vous trouverez une setText()méthode. Il prend en a Stringet a TextView.BufferType. Par exemple:

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

Il hérite également TextViewdes méthodes setText(CharSequence)et des setText(int)méthodes, vous pouvez donc le définir comme un standard TextView:

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

6
EditText.BufferType.EDITABLE?
sll

3
Non, EditTexts'étend TextView; TextView.BufferType.EDITABLEest la constante correcte.
Kevin Coppock

4
Ce qui pourrait dérouter un débutant, c'est que setText prend en fait un CharSequence et un BufferType. Il est donc utile de se rappeler que les chaînes sont CharSequence
Avatar33

6
Pourquoi android.text.Editable existe-t-il ou, mieux encore, pourquoi les développeurs normaux sont-ils censés naviguer autour de lui au lieu d'EditText exposant une méthode vide setText (CharSequence)?
Marcelo Lacerda

3
@MarceloLacerda Il expose setText(CharSequence), de sa superclasse TextView. Je ne sais donc pas vraiment pourquoi est-ce la réponse la plus votée et la plus acceptée?
Hendy Irawan

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

J'ai trouvé que String était une sous-classe indirecte utile de CharSequence

http://developer.android.com/reference/android/widget/TextView.html rechercher setText (texte CharSequence)

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


Notez que toutes les chaînes sont des CharSequences, donc celle-ci fonctionne, mais une CharSequence brute n'est pas une chaîne. Si vous avez une CharSequence brute et EXIGEZ une String, vous devez appeler myCharSequence.toString () pour obtenir la String officielle. Pas besoin de savoir pour CETTE application, mais parfois ailleurs, cela est nécessaire.
DragonLord

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

Vérifiez-le EditTextaccepter uniquement les valeurs de chaîne si nécessaire, convertissez-le en chaîne.

Si int, double, valeur longue, faites:

String.value(value);

3

Utilisez +, l'opérateur de concaténation de chaînes:

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

Ou utiliser

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

Ou utiliser

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

3

C'est la solution à Kotlin

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

2

Vous pouvez définir 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

Tu dois:

  1. Déclarez le EditText in the xml file
  2. Trouvez le EditTextdans l'activité
  3. Définissez le texte dans le EditText

1

Solution sous Android Java:

  1. Démarrez votre EditText, l'ID est venu à votre id xml.

    EditText myText = (EditText)findViewById(R.id.my_text_id);
  2. dans votre méthode OnCreate, définissez simplement le texte par le nom défini.

    String text = "here put the text that you want"
  3. utilisez la méthode setText de votre editText.

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

0

Si vous souhaitez définir du texte au moment de la conception dans le xmlfichier, android:text="username"ajoutez simplement cette propriété.

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

Si vous souhaitez définir du texte par programmation en Java

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

et kotlincomme java en utilisant getter / setter

edtUsername.setText("username")

Mais si vous voulez utiliser le .textprincipe alors

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

à cause de EditText.textnécessite une editablepremière place pasString

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.