Skip to content Skip to sidebar Skip to footer

Datepicker Dialog Validation...!

I create app for calculate AGE. This app works fine, but now I want to put Validation in datepicker Dialog. when user set date through datepicker dialog, then USER CAN NOT SET BIR

Solution 1:

what you can do is to disable the selection of the item .

Create your own subclass of ArrayAdapter where you override areAllItemsEnabled() to return false and isEnabled() to return true or false as needed.

Solution 2:

I got the solution.

I use below code in my application for set validation in DataPickerDialog.

// Global declarationCalendarpreferDate1=newGregorianCalendar();
    CalendarpreferDate2=newGregorianCalendar();
    finalCalendarc= Calendar.getInstance();
    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);
    privateint year, month, day;


    // here preferredDate1 and preferredDate2 are textview
    preferredDate1.setOnClickListener(newOnClickListener() {

                @SuppressLint("NewApi")@OverridepublicvoidonClick(View v) {
                    DatePickerDialogdp=newDatePickerDialog(MainActivity.this, prefferedDate1Picker, preferDate1
                            .get(Calendar.YEAR), preferDate1.get(Calendar.MONTH), preferDate1.get(Calendar.DAY_OF_MONTH));
                    dp.getDatePicker().setMinDate(c.getTimeInMillis());
                    dp.show();
                }
            });

    privatefinal DatePickerDialog.OnDateSetListenerprefferedDate1Picker=newDatePickerDialog.OnDateSetListener() {

            @OverridepublicvoidonDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
                preferDate1 = newGregorianCalendar(selectedYear, selectedMonth, selectedDay);
                preferredDate2.setText("");
                preferredDate1.setText((selectedDay < 10 ? "0" + String.valueOf(selectedDay) : String.valueOf(selectedDay)) + "/"
                        + (selectedMonth + 1 < 10 ? "0" + String.valueOf((selectedMonth + 1)) : String.valueOf((selectedMonth + 1)))
                        + "/" + selectedYear);

            }
        };


// This will set date based on preferredDate1// change here according to your need. If you want to add or remove one month then set based on data. In this I add one day in second data picker.
preferredDate2.setOnClickListener(newOnClickListener() {

            @SuppressLint("NewApi")@OverridepublicvoidonClick(View v) {
                    DatePickerDialogdp2=newDatePickerDialog(MainActivity.this, prefferedDate2Picker, preferDate2
                            .get(Calendar.YEAR), preferDate2.get(Calendar.MONTH), preferDate2.get(Calendar.DAY_OF_MONTH));

                    longmili= preferDate1.getTimeInMillis() + 86400000L;
                    dp2.getDatePicker().setMinDate(mili);
                    dp2.show();

            }
        });

        privatefinal DatePickerDialog.OnDateSetListenerprefferedDate2Picker=newDatePickerDialog.OnDateSetListener() {

        @OverridepublicvoidonDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
            preferDate2 = newGregorianCalendar(selectedYear, selectedMonth, selectedDay+1);
            preferredDate2.setText((selectedDay < 10 ? "0" + String.valueOf(selectedDay) : String.valueOf(selectedDay)) + "/"
                    + (selectedMonth + 1 < 10 ? "0" + String.valueOf((selectedMonth + 1)) : String.valueOf((selectedMonth + 1)))
                    + "/" + selectedYear);

        }
    };

Post a Comment for "Datepicker Dialog Validation...!"