2013-08-07 3 views
1

В моем приложении я использовал одно диалоговое окно datepicker. Это показывает всплывающее окно выбора даты, а также элемент selcted отображается правильно. Моя проблема заключается в событии обратного вызова, которое печатает дату два раза, поэтому будет добавлено в дб два раза, когда я вставить date.Please любой один помочь мне, пожалуйста, какой-либо один помочь мне ...Диалоговое диалоговое окно Datepicker два раза

DatepickerDialog:

new DatePickerDialog(getActivity(),R.style.Theme_CustomDialog,changeDate,calendarFuture.get(Calendar.YEAR) 
            ,calendarFuture.get(Calendar.MONTH),calendarFuture.get(Calendar.DAY_OF_MONTH) 
           ).show(); 

Call Back Event является:

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

когда я нажимаю диалоговое окно datepicker в это время 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

Perfect..THANK YOU .. !! –

Смежные вопросы