2017-02-08 2 views
0

Ich möchte Daten nur bis letzten Monat anzeigen. Und auch bis zum heutigen Datum keine zukünftigen Termine.Limit auf Android Datepicker Dialog funktioniert nicht? Wie löst man das Problem?

fromDate.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    final Calendar newCalendar = Calendar.getInstance(); 
    datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() { 
     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
     newCalendar.set(year, monthOfYear, dayOfMonth); 
     datePickerDialog.getDatePicker().setMaxDate(newCalendar.getTimeInMillis() + 1000); 
     datePickerDialog.getDatePicker().setMinDate(newCalendar.getTimeInMillis() - 1000); 
     fromDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year); 
     } 
    }, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 
    datePickerDialog.show(); 
    } 
}); 
+0

http: // stackoverflow.com/questions/33140909/how-to-set-a-minimum-and-maximum-limit-for-a-date-picker-in-android - Dies kann helfen? – Vikrant

+0

Verwenden Sie setMinDate() und setMaxDate(), um den Kalender zu begrenzen. – nnn

+0

http://StackOverflow.com/a/41391922/4427519 –

Antwort

0

können Sie verwenden MaxDate und minDate von Datepicker-Attribute und gleiche kann mit getan werden Java Code.You zu link für weitere Informationen

1

Versuchen Sie, diese beziehen,

fromDate.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     final Calendar newCalendar = Calendar.getInstance(); 
     datePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() { 
      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      newCalendar.set(year, monthOfYear, dayOfMonth); 

      /*Set max date*/ 
      datePickerDialog.getDatePicker().getDatePicker().setMaxDate(new Date().getTime()); 

      // Subtract 1 month from Calendar updated date 
      c.add(Calendar.MONTH, -1); 

      // Set the Calendar new date as minimum date of date picker 
       datePickerDialog.getDatePicker() .getDatePicker().setMinDate(newCalendar.getTimeInMillis()); 

      } 
     }, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 
     datePickerDialog.show(); 
     } 
}); 
Verwandte Themen