Ich entwickle auf dem Droid Incredible (und habe auch auf einem 1.5 AVD Emulator getestet), und eine der Registerkarten in meinem Tab Widget besteht aus einem Listview und einer Zeile mit einem EditText und einer Send Taste (für ein Chat-Funktion). Ich verwende die folgende, um die Soft-Tastatur zu schließen, nachdem ich auf Senden geklickt habe, aber es funktioniert nicht. Das ist identisch mit Code, den ich an anderer Stelle gefunden habe, wo Leute als korrekt upvoted haben.
Sehen Sie etwas, das mir fehlt?
%Vor%Ich habe auch versucht, die Flagge auf 0 zu setzen. Kein Glück. Wer weiß, was los ist?
**** EDIT **** Ich habe gerade festgestellt, dass ich ursprünglich hideSoftInputFromInputMethod()
anstelle von hideSoftInputFromWindow()
verwendet habe. Das Ändern hat es aber nicht funktionieren lassen ...
HIDE_IMPLICIT_ONLY wurde auf 0 geändert (nachdem ich mich von hideSoftInputFromWindow()
in hideSoftInputFromInputMethod()
geändert habe).
Ich bin mir jedoch nicht sicher, warum HIDE_IMPLICIT_ONLY nicht funktioniert, da ich die Tastatur nicht explizit durch langes Drücken von Menu öffne.
Eine weitere Option, um die Aktivität in der Datei AndroidManifest.xml zu verhindern
android: windowSoftInputMode="stateAlwaysHidden" - Diese Methode verhindert das Laden / Anzeigen der Tastatur, wenn die Aktivität geladen wird. Wenn Sie jedoch auf die editierbare Komponente wie Editiertext klicken, öffnet sich die Tastatur. perfekt für meine Anforderung.
%Vor%
1.Binde zuerst dein Text-Token mit der Tastatur und öffne das
d. h. inputMethodManager.showSoftInput(_edittext, 0);
// here _edittext ist Instanz der Ansicht
2. Tastatur wird automatisch ausgeblendet, wenn der Text vom Bildschirm ausgeblendet wird
3.edit Text ist immer noch auf dem Bildschirm, aber Sie möchten die Tastatur ausblenden und dann den folgenden Code verwenden
imm.hideSoftInputFromWindow(_edittext.getWindowToken(), 0);
// dies funktioniert nicht, wenn edittext nicht auf dem Bildschirm oder nicht fokussiert ist.
Tags und Links android hide soft-keyboard