【发布时间】:2015-06-29 15:26:39
【问题描述】:
在一个片段类中,我正在使用这个 sn-p:
Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), datePickerListener, mYear, mMonth, mDay);
dialog.setButton(DatePickerDialog.BUTTON_POSITIVE, "OK", dialog);
dialog.setButton(DatePickerDialog.BUTTON_NEGATIVE, "ANNULLA", (DialogInterface.OnClickListener)null);
dialog.show();
private DatePickerDialog.OnDateSetListener datePickerListener
= new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
//Do whatever you want
Log.d("DATEPICKER","La data presa è "+selectedDay+selectedMonth+selectedYear);
}
};
不幸的是,我在单击“正”和“负”按钮时都得到了日期。当然,我只需要带有肯定按钮的日期(但是,我在日志中看到了两者的条目)。
【问题讨论】:
-
您似乎创建了 DatePickerDialog“对话框”,但您不使用它...尝试将 DatePickerDialog.OnDateSetListener 替换为“dialog.OnDateSetListener”。
-
您是否有理由调用
setButton()来覆盖默认按钮?该对话框有两个默认按钮,用于取消和设置。使用默认按钮时,只有 Set 会导致调用监听器的onDateSet()方法。
标签: android android-dialog android-datepicker