Я создал метод проверки, используется ли клавиатура на вкладке activity (tab) с помощью поля editText: searchfield. Всякий раз, когда я оставляю активность (вкладку) и переключается на другую, я хочу закрыть клавиатуру. Поэтому я вызываю метод в onStop(). Но ничего не происходит, почему это не работает, кто-нибудь с большим пониманием того, как onStop() работает в Android? Как я могу заставить его работать? /Большое спасибо!Как закрыть клавиатуру Android при переключении действий/вкладок
@Override
protected void onStop()
{
super.onStop();
this.hideKeyboard(); <----------------------
if(this.data != null)
{
this.data.destroy();
}
}
private void hideKeyboard()
{
if (this.searchField != null)
{
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(this.searchField.getWindowToken(), 0);
}
}
Вы пытались 'onPause()' вместо 'onStop()'? – Floern
попробуйте сделать это в onpause – Ronnie
Попробуйте использовать 'TabHost.OnTabChangeListener()' в вашей основной 'Деятельности' и вызовите метод' hideKeyboard() 'оттуда. 'http://developer.android.com/reference/android/widget/TabHost.OnTabChangeListener.html – Squonk