0

戻るボタンのメソッドをオーバーライドするアクティビティがあります

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    Log.d(TAG, "onOptionsItemSelected");
    if (item.getItemId() == android.R.id.home)
        onBackPressed();
    Log.d(TAG, "onOptionsItemSelected: if executed");
    return super.onOptionsItemSelected(item);
}

@Override
public void onBackPressed() {
    closeDialog();
}

ハードウェアから [戻る] ボタンを押したときにアラート ダイアログをユーザーに表示することは正常に機能します。ユーザーが許可を与えると、アクティビティは終了します。しかし、ユーザーがツールバーの戻る矢印をクリックすると、ダイアログは表示されますが、アクティビティ onPause()、onStop() メソッドが呼び出され、アラート ダイアログが表示されてアクティビティが強制終了されるため、ウィンドウ リークが発生します。

この問題を止めるには?

注: マニフェスト ファイルで親アクティビティを提供しない場合、これは発生しません。

4

1 に答える 1