Partager via


Xamarin.Android Edit Text

Dans cette section, vous allez utiliser le widget EditText pour créer un champ de texte pour l’entrée utilisateur. Une fois le texte entré dans le champ, la touche Entrée affiche le texte dans un message toast.

Ouvrez Resources/layout/activity_main.axml et ajoutez l’élément EditText à une disposition contenante. L’exemple suivant activity_main.axml a été EditText ajouté à un 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>

Dans cet exemple de code, l’attribut EditText android:imeOptions est défini sur actionGo. Ce paramètre modifie l’action Terminé par défaut sur l’action Go afin que l’appui sur la touche Entrée déclenche le KeyPress gestionnaire d’entrée. (En règle générale, actionGo il est utilisé pour que la clé Entrée prenne l’utilisateur à la cible d’une URL tapée dans.)

Pour gérer l’entrée de texte utilisateur, ajoutez le code suivant à la fin de la méthode OnCreate dans 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;
    }
};

En outre, ajoutez l’instruction suivante using en haut de MainActivity.cs s’il n’est pas déjà présent :

using Android.Views;

Cet exemple de code gonfle l’élément EditText de la disposition et ajoute un gestionnaire KeyPress qui définit l’action à effectuer lorsqu’une touche est enfoncée pendant le focus du widget. Dans ce cas, la méthode est définie pour écouter la touche Entrée (lorsqu’elle est tapée), puis affiche un message toast avec le texte entré. Notez que la propriété Handled doit toujours être true si l’événement a été géré. Cela est nécessaire pour empêcher l’événement de se bousculer (ce qui entraînerait un retour chariot dans le champ de texte).

Exécutez l’application et entrez du texte dans le champ de texte. Lorsque vous appuyez sur la touche Entrée , le toast s’affiche comme indiqué à droite :

Exemples d’entrée de texte dans EditText

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Open Source Android et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5 . Ce tutoriel est basé sur le didacticiel Android Form Stuff.