Ada*_*dam 8 android datepicker
我在Android中使用了一个datepicker让用户选择日期.我希望它做一件事,如果用户选择一个日期并设置它(我有那个工作正常)然后清除某个文本字段,如果用户按下datepicker上的取消按钮(打开datepicker但然后取消它).
我一直在努力的方法是做一个
private DatePickerDialog.OnCancelListener mDateCancelListener =
new DatePickerDialog.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
timeClear(); //method that clears text field
}
};
Run Code Online (Sandbox Code Playgroud)
那我呢
TimePickerDialog timeDialog = new TimePickerDialog(this,
mTimeSetListener,
c.get(Calendar.HOUR),
c.get(Calendar.MINUTE),
false);
timeDialog.setOnCancelListener(mTimeCancelListener);
Run Code Online (Sandbox Code Playgroud)
附加监听器.
我的问题是,如果用户按下后退按钮,则监听器工作,但如果他们按下取消按钮则不行.我尝试使用一个dismiss监听器,这是有效的,除了它即使我设置或取消datepicker也会消失!
当且仅当我在我的日期选择器上按下取消按钮时,我需要做什么让某些事情发生?
反直觉的唯一解决方案是你需要"覆盖"取消按钮:
timeDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
getString(R.string.cancel),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do stuff
}
});
Run Code Online (Sandbox Code Playgroud)
尝试这个:
timeDialog.getButton(TimePickerDialog.BUTTON_NEGATIVE).setOnClickListener(mTimeCancelListener);
Run Code Online (Sandbox Code Playgroud)
(您必须更改 mTimeCancelListener 来实现DialogInterface.OnClickListener而不是OnCancelListener)
| 归档时间: |
|
| 查看次数: |
10927 次 |
| 最近记录: |