Freigeben über


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 weist eine EditText Eigenschaft auf, die einem 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 diesem Codebeispiel wird das EditText Attribut android:imeOptions auf actionGo. Diese Einstellung ändert die standardmäßige Aktion "Fertig" in die Aktion "Los" , 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 URL wechselt, die eingegeben wird.)

Fügen Sie zum Behandeln der Benutzertexteingabe 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 oben in MainActivity.cs hinzu, wenn sie noch nicht vorhanden ist:

using Android.Views;

In diesem Codebeispiel wird das EditText-Element aus dem Layout aufgeblasen und ein KeyPress-Handler hinzugefügt, der die auszuführende Aktion definiert, wenn eine Taste gedrückt wird, während das Widget den Fokus hat. In diesem Fall wird die Methode definiert, um auf die EINGABETASTE zu lauschen (wenn darauf getippt wird), und dann eine Popupnachricht mit dem eingegebenen Text auffüllen. Beachten Sie, dass die Handled-Eigenschaft immer sein true sollte, wenn das Ereignis behandelt wurde. Dies ist erforderlich, um das Aufbubbling des Ereignisses zu verhindern (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 das Eingeben von Text in EditText

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden. Dieses Lernprogramm basiert auf dem Lernprogramm "Android Form Stuff".