Xamarin.Android Text bearbeiten

In diesem Abschnitt verwenden Sie das EditText-Widget , um ein Textfeld für die Benutzereingabe zu erstellen. Nachdem Text in das Feld eingegeben wurde, zeigt die EINGABETASTE den Text in einer Popupnachricht an.

Öffnen Sie Resources/layout/activity_main.axml , und fügen Sie das EditText-Element zu einem enthaltenden Layout hinzu. Das folgende Beispiel activity_main.axml enthält eine EditText , die zu hinzugefügt LinearLayoutwurde:

<?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 diesem Codebeispiel ist das EditText Attribut android:imeOptions auf actionGofestgelegt. Diese Einstellung ändert die Standardaktion Fertig in die Aktion Gehe , sodass durch Tippen auf die EINGABETASTE der KeyPress Eingabehandler ausgelöst wird. (In der Regel wird verwendet, actionGo damit der Benutzer mit der EINGABETASTE zum Ziel einer eingegebenen URL gelangt.)

Fügen Sie zum Verarbeiten von Benutzertexteingaben den folgenden Code am Ende der OnCreate-Methode in MainActivity.cs hinzu:

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

Fügen Sie außerdem die folgende using Anweisung am Anfang von "MainActivity.cs " hinzu, wenn sie noch nicht vorhanden ist:

using Android.Views;

In diesem Codebeispiel wird das EditText-Element aus dem Layout vergrößert und ein KeyPress-Handler hinzugefügt, der die Aktion definiert, die ausgeführt werden soll, wenn eine Taste gedrückt wird, während das Widget den Fokus hat. In diesem Fall ist die -Methode so definiert, dass sie auf die EINGABETASTE lauscht (wenn sie angetippt wird) und dann eine Popupnachricht mit dem eingegebenen Text einblendet. Beachten Sie, dass die Handled-Eigenschaft immer sein true sollte, wenn das Ereignis behandelt wurde. Dies ist erforderlich, um zu verhindern, dass das Ereignis sprudelt (was zu einem Wagenrücklauf im Textfeld führen würde).

Führen Sie die Anwendung aus, und geben Sie Text in das Textfeld ein. Wenn Sie die EINGABETASTE drücken, wird das Popup wie auf der rechten Seite angezeigt:

Beispiele für die Eingabe von Text in EditText

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source-Projekt erstellt und freigegeben wurden und gemäß den in derCreative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden. Dieses Tutorial basiert auf demAndroid Form Stuff-Tutorial.