Cómo establecer texto en un texto de edición


Respuestas:


244

Si revisas los documentos EditText, encontrarás un setText()método. Toma en a Stringy a TextView.BufferType. Por ejemplo:

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

También hereda TextView's setText(CharSequence)y setText(int)métodos, por lo que puede configurarlo como un regular TextView:

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

66
EditText.BufferType.EDITABLE?
Todo

3
No, se EditTextextiende TextView; TextView.BufferType.EDITABLEes la constante correcta
Kevin Coppock

44
Lo que podría confundir a un novato es que setText en realidad toma un CharSequence y un BufferType. Por lo tanto, es útil recordar que las cadenas son de CharSequence
Avatar33

66
¿Por qué existe android.text.Editable o, mejor aún, por qué se supone que los desarrolladores normales deben navegar a su alrededor en lugar de EditText exponiendo un método vacío setText (CharSequence)?
Marcelo Lacerda

3
@MarceloLacerda Expone setText(CharSequence), desde su superclase TextView. Entonces, no estoy realmente seguro de por qué esta es la respuesta más votada y aceptada.
Hendy Irawan

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

He descubierto que String es una subclase indirecta útil de secuencia de caracteres

http://developer.android.com/reference/android/widget/TextView.html find setText (texto de secuencia de caracteres)

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


Tenga en cuenta que todas las cadenas son secuencias de caracteres, por lo que esta funciona, pero una secuencia de caracteres sin formato no es una secuencia. Si tiene una CharSequence sin procesar y REQUIERE una Cadena, debe llamar a myCharSequence.toString () para obtener la Cadena oficial. No es necesario saberlo para ESTA aplicación, pero a veces en otros lugares esto es necesario.
DragonLord

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

Compruébelo, EditTextacepte solo valores de cadena si es necesario, conviértalo en cadena.

Si int, double, long value, haz:

String.value(value);

3

Use +, el operador de concatenación de cadenas:

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

o usar

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

o usar

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

3

Esta es la solución en Kotlin

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

2

Puedes configurar 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

Necesitas:

  1. Declarar el EditText in the xml file
  2. Encuentra el EditTexten la actividad
  3. Establecer el texto en el EditText

1

Solución en Android Java:

  1. Comience su EditText, la identificación ha llegado a su id xml.

    EditText myText = (EditText)findViewById(R.id.my_text_id);
  2. en su Método OnCreate, simplemente configure el texto con el nombre definido.

    String text = "here put the text that you want"
  3. use el método setText de su editText.

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

0

Si desea establecer el texto en tiempo de diseño en el xmlarchivo, simplemente android:text="username"agregue esta propiedad.

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

Si desea establecer texto mediante programación en Java

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

y en lo kotlinmismo como Java usando getter / setter

edtUsername.setText("username")

Pero si quieres usar .textpor principio, entonces

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

debido a que EditText.textrequiere un editableprimer lugar noString

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.