如何在切换活动/标签时关闭Android键盘

时间:2012-06-24 19:17:15

标签: android keyboard android-activity

我创建了一个方法来检查键盘是否在带有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);
    }
}

2 个答案:

答案 0 :(得分:4)

来自评论

切换Tab时,不会调用

onStop()。请改用onPause()

答案 1 :(得分:4)

您可能应该在onPause()而不是onDestroy()中执行此操作,因为通常切换到新的活动将无法完成当前的活动,除非您明确这样做。