我正在尝试显示带有两个按钮的对话框 - 1) Not Now 2)立即设置。
当我单击对话框中的 Not Now 按钮时,我想再显示两个按钮 - A)稍后显示B)不再显示并在这些按钮上添加onclick侦听器。有没有办法实现这个目标?谢谢。
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
// On Button click show new buttons in the dialog
builder.setPositiveButton("Show Me Later", null //Add onClickListener);
builder.setNegativeButton("Don't Show Again", null // Add onClickListener);
break;
case DialogInterface.BUTTON_NEGATIVE:
//No button clicked
break;
}
}
};
builder.setMessage("Update Feature").setPositiveButton("Not Now", dialogClickListener)
.setNegativeButton("Set Up Now", dialogClickListener).show();
答案 0 :(得分:1)
AlertDialog(以及所有UI系统中的对话框)通常在最初呈现后不会更改其按钮。所以我不认为尝试这样做是个好主意。
相反,关闭第一个对话框并显示第二个对话框,其中包含您希望用户选择的第二组选项。这表明他们正在做出第二种选择,而不是第一种选择。