我创建了一个方法来检查键盘是否在带有editText:searchfield的活动(选项卡)中使用。每当我离开活动(标签)并切换到另一个活动时,我想关闭键盘。因此我在onStop()中调用该方法。但没有任何反应,为什么这不起作用,任何人对onStop()如何在Android中运行有更多的见解?我怎样才能使它工作? / Thanx很多!
@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);
}
}
答案 0 :(得分:4)
来自评论
切换Tab时,不会调用 onStop()
。请改用onPause()
。
答案 1 :(得分:4)
您可能应该在onPause()
而不是onDestroy()
中执行此操作,因为通常切换到新的活动将无法完成当前的活动,除非您明确这样做。