ダイアログを開いて、携帯電話を横向きにしたとします。そのダイアログを開いたままにしておきたい。どうすればそれを達成できますか?
これが私が試したことです
Dialog dialog;
boolean dialogShown = false;
onClick:
dialog = new Dialog(Login.this, R.style.no_title_dialog);
dialog.show();
dialogShown = true;
dialogButton.onClick:
//doStuff
dialog.dismiss();
dialogShown = false;
その後
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if(dialogShown) {
outState.putBoolean("dialogShown", true);
}
}
@Override
protected void onRestoreInstanceState(Bundle outState) {
super.onRestoreInstanceState(outState);
outState.getBoolean("dialogShown");
if(dialogShown){
dialog.show();
}
}
しかし、電話を横向きにすると、行に nullpointer Exception が発生します。
dialog.show();
onRestoreInstanceState で、ダイアログが認識されなくなったように?