3

editText: searchfield を使用して、アクティビティ (タブ) でキーボードが使用されているかどうかを確認するメソッドを作成しました。アクティビティ(タブ)を離れて別のアクティビティに切り替えるたびに、キーボードを閉じたいです。そのため、onStop() でメソッドを呼び出します。Android で onStop() がどのように機能するかについてより多くの洞察を持っている人はいますか? どうすればそれを機能させることができますか?/どうもありがとう!

@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()

于 2012-07-26T06:53:18.640 に答える
4

コメントから

onStop()タブを切り替えても呼び出されません。onPause()代わりに使用してください。

于 2012-06-24T19:35:01.560 に答える