【发布时间】:2010-06-26 23:50:47
【问题描述】:
我在 Android 中使用日期选择器让用户选择日期。如果用户选择一个日期并设置它(我可以正常工作),我希望它做一件事,然后如果用户按下日期选择器上的取消按钮(打开日期选择器但然后取消)清除某个文本字段)。
我一直在尝试的方法是制作一个
private DatePickerDialog.OnCancelListener mDateCancelListener =
new DatePickerDialog.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
timeClear(); //method that clears text field
}
};
那我做
TimePickerDialog timeDialog = new TimePickerDialog(this,
mTimeSetListener,
c.get(Calendar.HOUR),
c.get(Calendar.MINUTE),
false);
timeDialog.setOnCancelListener(mTimeCancelListener);
附加监听器。
我的问题是,如果用户按下后退按钮,侦听器就会工作,但如果他们按下取消按钮则不会。我尝试使用关闭侦听器,这很有效,除了即使我设置或取消日期选择器它也会关闭!
当且仅当我按下日期选择器上的取消按钮时,我需要做什么才能让某些事情发生?
【问题讨论】:
-
我正在尝试做同样的事情,但使用日期选择器。在下面建议的解决方案中,应用程序崩溃是因为 .getButton(TimePickerDialog.BUTTON_NEGATIVE) 返回 null。有没有人可以解决这个问题?
标签: android datepicker