Editar texto de Xamarin. AndroidXamarin.Android Edit Text

En esta sección, usará el widget EditText para crear un campo de texto para los datos proporcionados por el usuario.In this section, you will use the EditText widget to create a text field for user input. Una vez que el texto se ha escrito en el campo, la tecla entrar mostrará el texto en un mensaje del sistema.Once text has been entered into the field, the Enter key will display the text in a toast message.

Abra Resources/layout/activity_main. axml y agregue el elemento EditText a un diseño contenedor.Open Resources/layout/activity_main.axml and add the EditText element to a containing layout. En el ejemplo siguiente, activity_main. axml tiene un EditText que se ha agregado LinearLayouta un:The following example activity_main.axml has an EditText that has been added to 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, EditText el android:imeOptions atributo se establece actionGoen.In this code example, the EditText attribute android:imeOptions is set to actionGo. Esta configuración cambia la acción de listo predeterminada a la acción Go para que al pulsar la tecla entrar se KeyPress desencadene el controlador de entrada.This setting changes the default Done action to the Go action so that tapping the Enter key triggers the KeyPress input handler. (Normalmente, actionGo se usa para que la tecla entrar lleve al usuario al destino de una dirección URL que se escribe).(Typically, actionGo is used so that the Enter key takes the user to the target of a URL that is typed in.)

Para controlar la entrada de texto del usuario, agregue el código siguiente al final del métodoOnCreate en MainActivity.cs:To handle user text input, add the following code to the end of the OnCreate method in 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 using instrucción a la parte superior de MainActivity.CS si aún no está presente:In addition, add the following using statement to the top of MainActivity.cs if it is not already present:

using Android.Views;

En este ejemplo de código se infla el elemento EditText del diseño y se agrega un controlador KeyPress que define la acción que se debe realizar cuando se presiona una tecla mientras el widget tiene el foco.This code example inflates the EditText element from the layout and adds a KeyPress handler that defines the action to be made when a key is pressed while the widget has focus. En este caso, el método se define para que escuche la tecla entrar (al puntear) y, a continuación, mostrar un mensaje del sistema con el texto que se ha escrito.In this case, the method is defined to listen for the Enter key (when tapped) and then pop up a Toast message with the text that has been entered. Tenga en cuenta que la propiedad controlada siempre true debe ser si se ha controlado el evento.Note that the Handled property should always be true if the event has been handled. Esto es necesario para evitar que el evento se propague (lo que daría lugar a un retorno de carro en el campo de texto).This is necessary to prevent the event from bubbling up (which would result in a carriage return in the text field).

Ejecute la aplicación y escriba texto en el campo de texto.Run the application and enter some text into the text field. Al presionar la tecla entrar , la notificación del sistema se mostrará como se muestra a la derecha:When you press the Enter key, the toast will be displayed as shown on the right:

Ejemplos de cómo escribir texto en EditTextExamples of entering text into EditText

Algunas 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 el Licencia de atribución de Creative Commons 2,5 . Este tutorial se basa en el tutorial de formularios de Android .Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License . This tutorial is based on the Android Form Stuff tutorial .