我的应用使用了DatePicker
。当我打开DatePicker
并单击Done
时,将选择日期。问题是,如果用户单击DatePicker
以外的日期,则日期也会被选择。看到这里:
仅在单击Listener
时Done Button
才应作出反应。但是,如果单击DatePicker
的周围(红色),它也会做出反应。
我的问题:
我该如何预防?
如果您想查看一些代码,请发表评论。
我已经尝试过: How to handle date picker dialog not to set in edittext when clicked outside of dialog android?
Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
//DatePickerDialog mDatePicker;
DatePickerDialog mDatePicker;
mDatePicker = new DatePickerDialog(this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT, new DatePickerDialog.OnDateSetListener() {
private boolean fired;
public void resetFired(){
fired = false;
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
if(view.isShown()){
if(fired){
setDate(year, monthOfYear, dayOfMonth);
//ListView erneuern
adapter.notifyDataSetChanged();
return;
}
fired = true;
}
}
}, mYear, mMonth, mDay);
mDatePicker.setCanceledOnTouchOutside(true);
mDatePicker.setTitle("Wähle ein Datum");
mDatePicker.show();
但是它不能正常工作。单击背景错误得到解决。但是现在Done Button
停止工作了。
答案 0 :(得分:2)