2010-10-04 13 views
11

Ich muss in der Lage sein, die Soft-Tastatur als Reaktion auf einen Klick auf eine Schaltfläche zu verbergen. Ich habe zahlreiche Beiträge zu diesem Thema gesehen und es scheint, dass die Lösung darin besteht, die InputMethodManager zu verwenden, aber ich konnte es nicht für mich arbeiten lassen. Angeblich soll die folgenden wird die Soft-Tastatur verstecken:Hide Soft Keyboard

InputMethodManager inputManager = (InputMethodManager) 
     getSystemService(INPUT_METHOD_SERVICE); 

    inputManager.hideSoftInputFromInputMethod(editView.getWindowToken(), 0); 

Dies ist jedoch nicht für mich arbeiten (? Kann jeder vorschlagen, warum), und selbst wenn es so wäre, möchte ich unabhängig von der Tastatur verstecken können, was Ansicht hat die Eingabe, und ich kann nicht wissen, welche Sicht das ist.

fand ich, dass der Anruf:

inputManager.toggleSoftInput(0, 0); 

wird die Tastatur ausblenden, wenn es zur Zeit gezeigt werden wird. Leider wird es auch angezeigt, wenn es derzeit versteckt ist. Damit dies für mich funktioniert, müsste ich herausfinden, ob es derzeit sichtbar ist.

Irgendwelche Ideen?

Dank

Antwort

23

Sie könnten versuchen wollen:

InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
inputManager.hideSoftInputFromWindow(editView.getWindowToken(), 0); 
+1

Nun, duh! Ich schätze, es würde helfen, wenn ich die richtige Funktion anrufe. Vielen Dank. –

Verwandte Themen