【发布时间】:2016-07-09 15:40:05
【问题描述】:
我无法获得自定义确认对话框的“结果”。
我构建了以下类:
public class MessageDialog {
private static int result;
public static final int OK = 0;
public static final int CANCEL = 1;
public static int showConfirmDialog(Context context, String message) {
result = OK;
AlertDialog.Builder ad = new AlertDialog.Builder(context);
ad.setCancelable(false);
ad.setMessage(message);
ad.setTitle("Confirm");
ad.setPositiveButton("Yes", new ButtonPressedListener());
ad.setNegativeButton("No", new ButtonPressedListener());
ad.create().show();
return result;
}
private static class ButtonPressedListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
result = OK;
} else {
result = CANCEL;
}
dialog.dismiss();
}
}
}
并从 MainActivity 调用它:
if (MessageDialog.showConfirmDialog(this, "Do you want to delete?") == MessageDialog.OK) {
// yes button was clicked
} else {
// no button was clicked
}
但是我点击哪个按钮并不重要,我总是得到点击是按钮的结果。
【问题讨论】: