2010-10-04 14 views
11

Muszę być w stanie ukryć klawiaturę w odpowiedzi na kliknięcie przycisku. Widziałem wiele postów na ten temat i wydaje mi się, że rozwiązaniem jest użycie InputMethodManager, ale nie byłem w stanie sprawić, by zadziałało. Podobno dodaje ukryje miękkiej klawiatury:Ukryj miękką klawiaturę

InputMethodManager inputManager = (InputMethodManager) 
     getSystemService(INPUT_METHOD_SERVICE); 

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

Jednak to nie działa dla mnie (? Może ktoś zasugerować dlaczego), a nawet gdyby tak się stało, chcę być w stanie ukryć klawiaturę niezależnie od tego, widok ma dane wejściowe i nie wiem, jaki to jest widok.

Okazało się, że połączenia:

inputManager.toggleSoftInput(0, 0); 

będzie ukryć klawiaturę jeśli jest aktualnie wyświetlane. Niestety wyświetli ją również, jeśli jest aktualnie ukryta. Aby to zadziałało, potrzebowałbym sposobu, aby ustalić, czy jest on obecnie widoczny.

Wszelkie pomysły?

Dzięki

Odpowiedz

23

Możecie też spróbować:

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

Dobrze, duh! Myślę, że pomogłoby to, gdybym zadzwonił do właściwej funkcji. Dzięki. –

Powiązane problemy