Partilhar via


Xamarin.Android Editar texto

Nesta seção, você usará o widget EditText para criar um campo de texto para entrada do usuário. Depois que o texto for inserido no campo, a tecla Enter exibirá o texto em uma mensagem do sistema.

Abra Resources/layout/activity_main.axml e adicione o elemento EditText a um layout que contém. O exemplo a seguir activity_main.axml tem um EditText que foi adicionado a um 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>

Neste exemplo de código, o EditText atributo android:imeOptions é definido como actionGo. Essa configuração altera a ação padrão Concluído para a ação Ir, de modo que tocar na tecla Enter acione o KeyPress manipulador de entrada. (Normalmente, actionGo é usado para que a tecla Enter leve o usuário ao destino de uma URL digitada.)

Para manipular a entrada de texto do usuário, adicione o seguinte código ao final do método OnCreate no 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;
    }
};

Além disso, adicione a seguinte using instrução à parte superior do MainActivity.cs se ela ainda não estiver presente:

using Android.Views;

Este exemplo de código infla o elemento EditText do layout e adiciona um manipulador KeyPress que define a ação a ser feita quando uma tecla é pressionada enquanto o widget tem foco. Nesse caso, o método é definido para ouvir a tecla Enter (quando tocado) e, em seguida, exibir uma mensagem do sistema com o texto que foi inserido. Observe que a propriedade Handled sempre deve ser true se o evento tiver sido manipulado. Isso é necessário para evitar que o evento borbulhe (o que resultaria em um retorno de carro no campo de texto).

Execute o aplicativo e insira algum texto no campo de texto. Quando você pressionar a tecla Enter , a notificação do sistema será exibida como mostrado à direita:

Exemplos de inserção de texto em EditText

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com ostermos descritos na Creative Commons 2.5 Attribution License. Este tutorial é baseado notutorial Android Form Stuff.