戻るボタンのメソッドをオーバーライドするアクティビティがあります
@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() メソッドが呼び出され、アラート ダイアログが表示されてアクティビティが強制終了されるため、ウィンドウ リークが発生します。
この問題を止めるには?
注: マニフェスト ファイルで親アクティビティを提供しない場合、これは発生しません。