我知道这已经被问了很多次,但没有答案可以帮助我。
我有一个对话框,它会在某个时刻弹出(当我调用方法“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
}
}
但是,当我通常使用对话框中的按钮关闭对话框并旋转屏幕时,它就会重新出现。
我完全坚持下去了。请帮忙。