Ausblenden der weichen Tastatur funktioniert nicht

8

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 ...

    
stormin986 09.05.2010, 00:57
quelle

3 Antworten

20

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.

    
stormin986 09.05.2010, 01:31
quelle
11

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%     
Joseph Selvaraj 18.05.2012 22:04
quelle
5

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.

    
Uday Sravan K 19.11.2013 13:43
quelle

Tags und Links