Hallo, ich habe eine Suche EditText
und Suche Button
. Wenn ich den gesuchten Text eingebe , möchte ich anstelle der Suche die EINGABETASTE auf dem Softkeyboard verwenden, um die Suchfunktion Button
zu aktivieren.
Vielen Dank für Ihre Hilfe im Voraus.
android
keyboard
android-softkeyboard
Peter O.
quelle
quelle
android:inputType="text"
XML- Datei für den Bearbeitungstext so einstellen , dass die Eingabetaste gegenüber der Standardtastatur mit Wagenrücklauf angezeigt wird.Sie können dann auf Drücken der Aktionstaste warten, indem Sie einen TextView.OnEditorActionListener für das EditText-Element definieren. Antworten Sie in Ihrem Listener auf die entsprechende IME-Aktions-ID, die in der EditorInfo-Klasse definiert ist, z. B. IME_ACTION_SEND. Beispielsweise:
Quelle: https://developer.android.com/training/keyboard-input/style.html
quelle
Möglicherweise können Sie Ihrem EditText ein Attribut wie folgt hinzufügen:
quelle
android:inputType="text"
undfüge dem EditText ein Attribut wie android hinzu: imeOptions = "actionSearch"
Dies ist der beste Weg, um die Funktion auszuführen
und die imeOptions haben auch einige andere Werte wie "go" 、 "next" 、 "done" usw.
quelle
Wir können auch Kotlin Lambda verwenden
quelle
Um zu vermeiden, dass der Fokus auf das nächste bearbeitbare Feld (falls vorhanden) übergeht, möchten Sie möglicherweise die Key-Down-Ereignisse ignorieren, aber Key-Up-Ereignisse behandeln. Ich bevorzuge es auch, zuerst nach dem keyCode zu filtern, vorausgesetzt, er wäre geringfügig effizienter. Denken Sie übrigens daran, dass die Rückgabe von true bedeutet, dass Sie das Ereignis behandelt haben, sodass dies kein anderer Listener tun wird. Wie auch immer, hier ist meine Version.
quelle
Dies ist ein Beispiel für eine meiner Apps, wie ich damit umgehe
quelle
Der aktuellste Weg, dies zu erreichen, ist:
Fügen Sie dies Ihrem EditText in XML hinzu:
Dann in Ihrer Aktivität / Fragment:
quelle