3

我创建了一种方法来检查键盘是否在带有editText的活动(选项卡)中使用:搜索字段。每当我离开活动(选项卡)并切换到另一个活动时,我都想关闭键盘。因此我调用 onStop() 中的方法。但是什么也没发生,为什么这不起作用,任何对 onStop() 如何在 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);
    }
}
4

2 回答 2

5

您可能应该这样做,onPause()而不是因为onDestroy()通常切换到新的 Activity 不会完成当前的,除非您明确地这样做。

于 2012-07-26T06:53:18.640 回答
4

来自评论

onStop()切换选项卡时不会调用。改为使用onPause()

于 2012-06-24T19:35:01.560 回答