Ich habe zwei Eingabefelder für das Einchecken und ein anderes für das Auschecken Datum.Stellen Sie ein DatePickerDialog min Tag einen Tag über anderen DatePickerDialog
Ich habe zwei DatePickerDialog dafür genommen, die geöffnet werden, wenn Sie auf die Edit-Textfelder klicken, das funktioniert gut, aber ich brauche es einzurichten, wenn ein Datum für check-in Bearbeitungsfeld für Check ausgewählt wird out datepicker sollte am nächsten Tag des Check-in-Datum beginnen.
dh Ihr Check-out-Datum kann nicht vor Ihrem Check-in-Datum sein.
my current code:
private void setDateTimeField() {
checkInEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus){
fromDatePickerDialog.show();
}
}
});
checkOutEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
toDatePickerDialog.show();
}
}
});
Calendar newCalendar = Calendar.getInstance();
fromDatePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
checkInEdit.setText(dayOfMonth + "-" + monthOfYear + "-" + year);
newDate.add(Calendar.DATE, 1);
toDatePickerDialog.getDatePicker().setMinDate(newDate.get(Calendar.MILLISECOND));
}
},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
toDatePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
checkOutEdit.setText(dayOfMonth + "-" + monthOfYear + "-" + year);
}
},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
fromDatePickerDialog.getDatePicker().setMinDate(newCalendar.get(Calendar.MILLISECOND));
toDatePickerDialog.getDatePicker().setMinDate(newCalendar.get(Calendar.MILLISECOND));
}
Ich habe die Zeile hinzugefügt
toDatePickerDialog.getDatePicker().setMinDate(newDate.get(Calendar.MILLISECOND));
im fromDatePickerDialog
onDateSet Verfahren jedoch diese nicht zu halten scheinen, das heißt, wenn ich die toDatePickerDialog das Datum noch offen zu heute eingestellt ist.