我想访问Android中Dialog的正面和负面按钮。为什么,因为我想限制对话的多个时间可见性。这就是我需要访问这些按钮的原因。但我不知道如何访问。我已经研究过,但结果仅针对alertdialog,而不是针对对话。
Dialog mDialog = new DatePickerDialog(IncomeActivity.this,
mDatesetListener, calender.get(Calendar.YEAR),
calender.get(Calendar.MONTH), calender
.get(Calendar.DAY_OF_MONTH));
mDialog.show();
我尝试过以下代码。但它对我没有帮助。
mDialog.setOnCancelListener(new OnCancelListener() {
public void onCancel(DialogInterface arg0) {
isDateClicked = false;
}
});
isDateClicked
是boolean
值。在打开mDIalog之前,我把它称为true
。现在我想在关闭对话框时将其设置为false。
如何访问这个mDialog的正面和负面按钮。
答案 0 :(得分:4)
您好,您可以使用警报对话框,以便您可以管理正面和负面按钮,尝试以下代码:
AlertDialog.Builder builder = new AlertDialog.Builder(AddSchedule.this);
builder.setIcon(android.R.drawable.ic_dialog_info);
builder.setTitle("Alert dialog title");
builder.setMessage("Dialog message");
builder.setPositiveButton("Button1", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//DO TASK
}
});
builder.setNegativeButton("Button2", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//DO TASK
}
});
AlertDialog dialog = builder.create();
dialog.show();
答案 1 :(得分:2)
正如vmironov所说,我找到了答案。非常感谢vmironov。答案是
mDialog.setOnDismissListener(new OnDismissListener() {
public void onDismiss(DialogInterface arg0) {
isDateClicked = no;
}
});
答案 2 :(得分:1)
您可以使用Dialog.isShowing()来了解对话框是否已经启动。
答案 3 :(得分:0)
您可以通过这种方式获取对话框中的确定和取消按钮。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("title");
builder.setIcon(R.drawable.launcher);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Display_questions.this.finish(); // using this current activity is closed
// Do task here
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel(); // using this dialog box is closed.
}
});
AlertDialog alert = builder.create();
alert.show();
祝你好运。