How to detect when Android software keyboard is hidden?

Asked
Viewd2996

4

I need to detect when the android software keyboard is hidden. My activity currently responds to when the hardware keyboard is hidden but the software keyboard looks like it can only be implied through a size changed event.

Does anyone know of a way that a view or activity can receive a notification when the software keyboard is hidden by the user cancelling out of keyboard mode?

  • Звучит как плохая практика, что именно вы пытаетесь сделать?

    Isaac Waller14 июля 2009, 02:36

3 ответов

2

Would forcing the sof tkeyboard to always be visible help?

You can add this to your Activity's xml file to ensure the softkeyboard is always visible in that Activity:

android:windowSoftInputMode="stateAlwaysVisible"

http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

0

Я решил это, просто поискав клавишу возврата. Когда получена клавиша возврата, я знаю, что программная клавиатура будет отменена.

1

На самом деле нет способа проверить, но вы можете проверить, работает ли действие над ним или нет

 boolean isClosing = false;
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
isClosing = imm.hideSoftInputFromWindow(tabHost.getApplicationWindowToken(), 0);
 

Это вернет false, если клавиатура была закрыта, и true, если она была открыта и сейчас закрывается.