1

How to set active date tommorow in datepicker android studio? i will disable date today, and active date tommorow?

Calendar cMin = Calendar.getInstance();
Calendar cMax = Calendar.getInstance();

cMax.add(Calendar.DAY_OF_MONTH, 7); //active in 7 days
datePickerDialog.setMinDate(cMin); //active today
datePickerDialog.setMaxDate(cMax); //max active in 7 days

how to disable today?

All my code to be more detail, but if disable sunday, today will be enable, how to handle this problem?

public void datePicker(){
    final Calendar calendarMax = Calendar.getInstance();
    calendarMax.add(Calendar.DAY_OF_MONTH, 7);

    final Calendar calendarToday = Calendar.getInstance();
    int year    = calendarToday.get(Calendar.YEAR);
    int month   = calendarToday.get(Calendar.MONTH);
    calendarToday.add(Calendar.DAY_OF_MONTH, 1);
    int day     = calendarToday.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(FormTestDrive.this, year, month, day);
    datePickerDialog.setMinDate(calendarToday);
    datePickerDialog.setMaxDate(calendarMax);

    //membuat hari minggu tidak dapat di pilih
    List<Calendar> daysList = new LinkedList<>();
    Calendar[] daysArray;
    Calendar cAux = Calendar.getInstance();

    while( cAux.getTimeInMillis() <= calendarMax.getTimeInMillis() ){
        //if( cAux.get( Calendar.DAY_OF_WEEK ) != 1 && cAux.get( Calendar.DAY_OF_WEEK ) != 7 ){
        if( cAux.get( Calendar.DAY_OF_WEEK ) != Calendar.SUNDAY){
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis( cAux.getTimeInMillis() );
            daysList.add( c);
        }
        cAux.setTimeInMillis( cAux.getTimeInMillis() + ( 24 * 60 * 60 * 1000 ) );
    }
    daysArray = new Calendar[ daysList.size() ];
    for( int i = 0; i < daysArray.length; i++ ){
        daysArray[i] = daysList.get(i);
    }
    datePickerDialog.setSelectableDays( daysArray );

    datePickerDialog.vibrate(true); //vibrate on choosing date?
    datePickerDialog.show( getFragmentManager(), "DatePickerDialog" );
}
dyan tb
  • 79
  • 1
  • 2
  • 14

2 Answers2

1

Try this One:

    final Calendar calendarMax = Calendar.getInstance();
    calendarMax.add(Calendar.DAY_OF_MONTH, 7);

    final Calendar calendarToday = Calendar.getInstance();
    int year = calendarToday.get(Calendar.YEAR);
    int month = calendarToday.get(Calendar.MONTH);
    calendarToday.add(Calendar.DAY_OF_MONTH, 1);
    int day = calendarToday.get(Calendar.DAY_OF_MONTH);


    DatePickerDialog datePickerDialog = new DatePickerDialog(DashBoardActivity.this,
            null,
            year, month, day);
    datePickerDialog.getDatePicker().setMinDate(calendarToday.getTimeInMillis());
    datePickerDialog.getDatePicker().setMaxDate(calendarMax.getTimeInMillis());
    datePickerDialog.show();

O/P

output

Hope this help you...if you need any help you can ask

Mahesh Vayak
  • 1,056
  • 12
  • 25
0

try this way

Calendar cal = Calendar.getInstance(); 
cal.setTime(TODAY); 
cal.add(Calendar.DAY_OF_MONTH, 1); //Adds a day
cal.add(Calendar.DAY_OF_MONTH, -1); //Goes to previous day
yourDate = cal.getTime();