如何在Android中访问DIalog的正面和负面按钮

时间:2013-03-07 05:43:31

标签: android

我想访问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;
        }
});

isDateClickedboolean值。在打开mDIalog之前,我把它称为true。现在我想在关闭对话框时将其设置为false。 如何访问这个mDialog的正面和负面按钮。

4 个答案:

答案 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();

祝你好运。