Deaktivieren der Tastatur die Taste senden, wenn nichts eingegeben wurde noch [Android]
Ich bin erstellen einer such-option in der android-Anwendung.
Nach dem drücken von "Suchen" auf der Bildschirm-Tastatur ein Ereignis auslöst, sendet die Abfrage an den server.
Was ich will zu tun ist, deaktivieren Sie die Schaltfläche "Suchen" auf der Bildschirm-Tastatur wenn kein text eingegeben wurde es entsprechende EditText
noch.
Ich habe dies nur Hinzugefügt, um die EditText
:
android:imeOptions="actionSearch"
So, dass ist der Grund, warum die Tastatur hat eine "Suchen" - Taste anstelle des Standard - "enter"/"fertig". (Nur für den Fall, Sie Fragen, wo).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können wir deaktivieren Sie die action-Taste auf der android-Tastatur. Sie haben sich mit der überprüfung für die leere Zeichenfolge im editor action-listener.
versuchen, diese (möglicherweise nicht das exakte Ergebnis, das Sie wollten, aber vielleicht werden die nächsten, die Sie bekommen können.
1)Entfernen Sie die android -: imeOptions="actionSearch" aus der xml -
2)Erstellen Sie eine benutzerdefinierte TextWatcher addTextChangedListener(TextWatcher watcher), mit der Sie die Tastatur ändern sich dynamisch, so etwas wie dieses
ImeOptions
nachdem die Ansicht erstellt wurde. Aber es fühlt sich nicht wie die richtige Lösung trotzdem will ich da die enter/such-button deaktiviert werden, bis etwas eingegeben wurde. Wenn diese Antwort funktionierte, würde es zeigen das der text "Done" auf der enter-Taste anstelle von "Suchen". Ich will einfach nur, dass die Schaltfläche ausgegraut oder etwas um dem Benutzer zu zeigen, die er/Sie nicht, so dass eine Suche auf einen leeren string.die Sie brauchen, um Benutzerdefinierte EditText ,Stellen Erweitert EditText und @Override Unten Methode.
Hier ist der Beispiel-code.
können Sie auch dies tun, um die Suchen-Taste :
dispatchKeyEventPreIme
. Nichts in der Konsole ausgegeben.dispatchKeyEventPreIme
diese Methode aufrufen und erhalten softkeyboard Fall können Sie versuchen, diesemCustomEditText.setOnEditorActionListener
wie aktualisiert in Antwort.Versuchen Sie in dieser Methode für die enter-Taste für das softkeyboard.Implementieren
OnKeyListener
in IhremActivity
.fügen Sie diese keyListener zu Ihrem
EditText
.überschreiben
onKey()
in IhremActivity
.und ist dies Getan, erscheint ein Toast, wenn Ihr
EditText
leer ist und Sie drücken die suchen-Taste.Hinweis:
onKey()
wird zweimal aufgerufen, einmal für keyDown und dann für KeyUp. haben Sie als filter verwenden KeyEvent Beispiel, als parameter empfangen inonKey()
Methode.Befestigen OnEditorActionListener auf das Textfeld und geben true zurück von seiner onEditorAction Methode, wenn actionId gleich IME_ACTION_DONE. Dies wird verhindern, dass soft-Tastatur versteckt:
Finden Sie diese LINK LINK
oder Versuchen Sie, diese..! für fancy Fehler dilog
Verwenden Sie den folgenden Code in den Text Bearbeiten,
Ich bin nicht in der Lage
flagNoEnterAction = "false"
Aber jemand, der Ihnen helfen kann,