これはすでに何度も尋ねられていることを私は知っていますが、答えは私を助けることができませんでした.
特定の瞬間にポップアップするダイアログがあります(メソッド「showServerDialog」を呼び出したとき)。ダイアログが表示され、「negativeButton」を使用してダイアログを閉じてから画面を回転するまで、すべて問題ありません。その後、ダイアログは閉じましたが、再び表示されます。
showDialog(int id) メソッドを使用してダイアログを表示し、onCreateDialog(int id) メソッドをオーバーライドすると、Android がすべてを自動的に処理することを何度も読みました。そして、それはまさに私がやっていることです:
@SuppressWarnings("deprecation")
public void showServerDialog(int position){
showDialog(REMOVE_SERVER_DIALOG_ID);
}
@SuppressWarnings("deprecation")
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case REMOVE_SERVER_DIALOG_ID:
System.out.println("---------------------------------DIALOG");
// Create AlterDialog
Builder builder = new AlertDialog.Builder(this);
builder.setMessage("This will end the activity");
builder.setCancelable(true);
builder.setPositiveButton("I agree", new OkOnClickListener());
builder.setNegativeButton("No, no", new CancelOnClickListener());
AlertDialog dialog = builder.create();
dialog.show();
return dialog;
}
return super.onCreateDialog(id);
}
private final class CancelOnClickListener implements DialogInterface.OnClickListener{
public void onClick(DialogInterface dialog, int which) {
// Do nothing and just close dialog
}
}
しかし、通常はダイアログのボタンを使用してダイアログを閉じ、画面を回転させると、再び表示されます。
私はそれで完全に立ち往生しています。助けてください。