2013-08-07 31 views
1

在我的应用程序中,我使用了一个日期选择器对话框。其中显示日期选择器弹出罚款和选定项目正确显示。我的问题是在回调事件它打印日期两次,所以将被添加DB两次当我插入date.Please任何一个可以帮助我请任何一个可以帮助我...日期选择器对话框调用两次

DatepickerDialog:

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 
+1

每当'DatePicker'是可见的屏幕上,'onDateSet'被激发。然后当你再次设置任何日期时,它会再次触发'onDateSet'方法。这就是你获得2个日志的原因。 :) –

+0

当我点击日期选择器对话框那时ondateset调用两次... – Satheesh

+0

该日志被称为两次在选定的时间13 08 2013 – Satheesh

回答

5

你可以试试这个

@Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
      int dayOfMonth) { 

     if(view.isShown()) 
     Log.i(DateDialogFragment.class.getName(),year+"/"+monthOfYear+"/"+dayOfMonth); 

    } 
+1

工作完美..谢谢... – praveenb

+0

完美..你的.. ..! –

相关问题