Sdílet prostřednictvím


Upravit text v Xamarin.Androidu

V této části použijete widget EditText k vytvoření textového pole pro uživatelský vstup. Po zadání textu do pole zobrazí klávesa Enter text ve zprávě informační zprávy.

Otevřete Resources/layout/activity_main.axml a přidejte element EditText do obsahujícího rozložení. Následující příklad activity_main.axml má přidanou EditText do: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>

V tomto příkladu EditText kódu je atribut android:imeOptions nastaven na actionGo. Toto nastavení změní výchozí akci Hotovo na akci Go tak, aby klepnutí na klávesu Enter aktivovalo vstupní obslužnou rutinu KeyPress . (Obvykle se používá, actionGo aby klávesa Enter převezla uživatele do cíle adresy URL, která je zadána.)

Pokud chcete zpracovat textové zadání uživatele, přidejte na konec metody OnCreate v MainActivity.cs následující kód:

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;
    }
};

Kromě toho na začátek MainActivity.cs přidejte následující using příkaz, pokud ještě není k dispozici:

using Android.Views;

Tento příklad kódu nafoukne element EditText z rozložení a přidá obslužnou rutinu KeyPress , která definuje akci, která se má provést při stisknutí klávesy, zatímco widget má fokus. V tomto případě je metoda definovaná tak, aby naslouchala klávesě Enter (když jste klepli) a pak se otevře zpráva informační zprávy s textem, který byl zadán. Všimněte si, že vlastnost Handled by měla být true vždy, pokud byla událost zpracována. To je nezbytné k tomu, aby událost nefoukala nahoru (což by vedlo k návratu na začátek řádku v textovém poli).

Spusťte aplikaci a do textového pole zadejte nějaký text. Když stisknete klávesu Enter , informační zpráva se zobrazí, jak je znázorněno na pravé straně:

Příklady zadávání textu do edittextu

Části této stránky jsou úpravy založené na práci vytvořené a sdílené opensourcový projekt Androidu a používají se podle termínů popsaných v licenci Creative Commons 2.5 Atribution License . Tento kurz je založen na Android Form Stuff kurz .