1

I neeed to implement setOnClickListener in CalendarView but it doesn't work because CalendarView have a subview or something like that. I tried that :

calendarView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

        }
    });

but it doesn't work

Please, someone know how can I implement it?

Thanks

Jitesh Dalsaniya
  • 1,917
  • 3
  • 20
  • 36
Antonio Diaz
  • 25
  • 1
  • 5
  • please look at this thread http://stackoverflow.com/questions/11949183/calendarview-clickable-android what you are looking for is `calendarView.setOnDateChangeListener(OnDateChangeListener())` but currently you are using `calendarView.setOnClickListener(new OnClickListener())` – BBdev Oct 25 '13 at 09:20

1 Answers1

1
    private int mYear;
    private int mMonth;
    private int mDay;    
    static final int DATE_PICKER_ID = 1111;
final Calendar c = Calendar.getInstance();
       mYear  = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay   = c.get(Calendar.DAY_OF_MONTH);


calenderView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                showDialog(DATE_PICKER_ID);
            }
        });     


@Override
    protected Dialog onCreateDialog(int id) {
       switch (id) {

  case DATE_PICKER_ID:

// set date picker as current date

   return new DatePickerDialog(this, pickerListener , mYear, mMonth,mDay );

}

return null;

    }

    private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() {

        // when dialog box is closed, below method will be called.
        @Override
        public void onDateSet(DatePicker view, int selectedYear,
                int selectedMonth, int selectedDay) {
            mDay = selectedDay;
            mMonth = selectedMonth;
            mYear = selectedYear;
            Calendar c = Calendar.getInstance();
            c.set(mYear, mMonth, mDay);
            SimpleDateFormat df = new SimpleDateFormat("MMM-dd-yyyy");
            String selectedDate = df.format(c.getTime());
            calenderView.setText(selectedDate);         
           }
        };
jyomin
  • 1,957
  • 2
  • 11
  • 27
  • I'm not sure I understand the suggest solution. If this is indeed the accepted solution, can 'jyomin' please explain. – Oren Apr 20 '16 at 09:34