Compartir a través de


Xamarin.Android Edit Text

En esta sección, usará el widget EditText para crear un campo de texto para la entrada del usuario. Una vez escrito el texto en el campo, la tecla Entrar mostrará el texto en un mensaje del sistema.

Abra Resources/layout/activity_main.axml y agregue el elemento EditText a un diseño contenedor. El ejemplo siguiente activity_main.axml tiene un EditText que se ha agregado a LinearLayout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:id="@+id/edittext"
        android:layout_width="match_parent"
        android:imeOptions="actionGo"
        android:inputType="text"
        android:layout_height="wrap_content" />
</LinearLayout>

En este ejemplo de código, el atributo android:imeOptions de EditText se establece en actionGo. Esta configuración cambia la acción Listo predeterminada a la acción Ir para que pulsando la tecla Entrar desencadene el controlador de entrada KeyPress. (Normalmente, actionGo se usa para que la clave Entrar lleve al usuario al destino de una dirección URL en la que se escribe).

Para controlar la entrada de texto del usuario, agregue el código siguiente al final del método OnCreate en MainActivity.cs:

EditText edittext = FindViewById<EditText>(Resource.Id.edittext);
edittext.KeyPress += (object sender, View.KeyEventArgs e) => {
    e.Handled = false;
    if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
    {
        Toast.MakeText(this, edittext.Text, ToastLength.Short).Show();
        e.Handled = true;
    }
};

Además, agregue la siguiente instrucción using a la parte superior de MainActivity.cs si aún no está presente:

using Android.Views;

En este ejemplo de código se infla el elemento EditText desde el diseño y se agrega un controlador KeyPress que define la acción que se va a realizar cuando se presiona una tecla mientras el widget tiene el foco. En este caso, el método se define para escuchar la tecla Entrar (cuando se pulsa) y, a continuación, aparece un mensaje de notificación del sistema con el texto que se ha escrito. Tenga en cuenta que la propiedad Handled siempre debe ser true si el evento se ha controlado. Esto es necesario para evitar que el evento se propague (lo que provocaría un retorno de carro en el campo de texto).

Ejecute la aplicación y escriba texto en el campo de texto. Al presionar la tecla Entrar, la notificación del sistema se mostrará como se muestra a la derecha:

Ejemplos de escribir texto en EditText

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5 . Este tutorial se basa en el tutorial android Form Stuff .