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

Jes*_*son 3 keyboard android android-activity

我创建了一种方法来检查键盘是否在带有editText:searchfield的activity(tab)中使用。每当我离开活动(选项卡)并切换到另一个活动时,我都想关闭键盘。因此,我在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);
    }
}
Run Code Online (Sandbox Code Playgroud)

t-g*_*gao 5

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