Android 日期选择器对话框调用两次
在我的应用程序中,我使用了一个日期选择器对话框。该对话框显示日期选择器弹出窗口很好,并且选择的项目显示正确。我的问题是在回调事件中,它打印了两次日期,因此在我插入日期时,将在db中添加两次。请任何人帮助我请任何人帮助我 日期选择器对话框:Android 日期选择器对话框调用两次,android,datepicker,duplicates,Android,Datepicker,Duplicates,在我的应用程序中,我使用了一个日期选择器对话框。该对话框显示日期选择器弹出窗口很好,并且选择的项目显示正确。我的问题是在回调事件中,它打印了两次日期,因此在我插入日期时,将在db中添加两次。请任何人帮助我请任何人帮助我 日期选择器对话框: new DatePickerDialog(getActivity(),R.style.Theme_CustomDialog,changeDate,calendarFuture.get(Calendar.YEAR)
new DatePickerDialog(getActivity(),R.style.Theme_CustomDialog,changeDate,calendarFuture.get(Calendar.YEAR)
,calendarFuture.get(Calendar.MONTH),calendarFuture.get(Calendar.DAY_OF_MONTH)
).show();
回拨事件为:
DatePickerDialog.OnDateSetListener changeDate=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
calendarFuture.set(Calendar.YEAR, year);
calendarFuture.set(Calendar.MONTH, monthOfYear);
calendarFuture.set(Calendar.DAY_OF_MONTH, dayOfMonth);
Log.i(TAG,"FutureCalendar:"+android.text.format.DateFormat.format("dd MM yyyy", calendarFuture));
}
输出为:
FutureCalendar:13 08 2013
FutureCalendar:13 08 2013
你可以试试这个
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
if(view.isShown())
Log.i(DateDialogFragment.class.getName(),year+"/"+monthOfYear+"/"+dayOfMonth);
}
只要屏幕上显示
DatePicker
,就会触发onDateSet
。然后,当您再次设置任何日期时,它将再次触发onDateSet
方法。这就是您获得2个日志的原因。:)当我点击datepicker对话框的时候,ondateset被调用了两次…日志被调用了两次,当时选择了13 08 2013I,我在应用程序中实现了你的代码(顺便说一句,它没有使用片段)。当我点击set
按钮时,它只调用了onDateSet
一次。太好了。谢谢。。!!