Xamarin.Android Modifica testo

In questa sezione si userà il widget EditText per creare un campo di testo per l'input dell'utente. Dopo che il testo è stato immesso nel campo, il tasto INVIO visualizzerà il testo in un messaggio di tipo avviso popup.

Aprire Resources/layout/activity_main.axml e aggiungere l'elemento EditText a un layout contenitore. Nell'esempio seguente activity_main.axml è stato EditText aggiunto a un oggetto 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>

In questo esempio di codice l'attributo EditTextandroid:imeOptions è impostato su actionGo. Questa impostazione modifica l'azione fine predefinita all'azione Vai in modo che toccando il tasto INVIO venga attivato il KeyPress gestore di input. In genere, actionGo viene usato in modo che la chiave INVIO consenta all'utente di passare alla destinazione di un URL digitato.

Per gestire l'input di testo dell'utente, aggiungere il codice seguente alla fine del metodo OnCreate 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;
    }
};

Aggiungere inoltre l'istruzione seguente using all'inizio di MainActivity.cs se non è già presente:

using Android.Views;

Questo esempio di codice gonfia l'elemento EditText dal layout e aggiunge un gestore KeyPress che definisce l'azione da eseguire quando viene premuto un tasto mentre il widget ha lo stato attivo. In questo caso, il metodo viene definito per l'ascolto del tasto INVIO (quando viene toccato) e quindi viene visualizzato un messaggio avviso popup con il testo immesso. Si noti che la proprietà Handled deve essere true sempre se l'evento è stato gestito. Ciò è necessario per evitare che l'evento venga bubbling verso l'alto (il che comporta un ritorno a capo nel campo di testo).

Eseguire l'applicazione e immettere del testo nel campo di testo. Quando si preme INVIO , l'avviso popup verrà visualizzato come mostrato a destra:

Esempi di immissione di testo in EditText

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nellalicenza Creative Commons 2.5 Attribuzione. Questa esercitazione si basa sull'esercitazione su Android Form Stuff.