总之,我有两个日期选择器(从,到)。在这里选择“ FromDate”和“ ToDate”直到当前日期。
如果我将“ 2019-04-04”选择为“ FromDate”,并且当我选择“ ToDate”时,它将隐藏“ FromDate”之前的日期。我该如何实现?
mFromEditTextBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog fromPicker = new DatePickerDialog(getActivity(), date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
fromPicker.getDatePicker().setMaxDate(System.currentTimeMillis() - 1000);
fromPicker.show();
clickedView = (EditText) v;
}
});
mToEditTextBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog toPicker = new DatePickerDialog(getActivity(), date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
toPicker.getDatePicker().setMaxDate(System.currentTimeMillis()-1000);
toPicker.show();
clickedView = (EditText) v;
}
});
答案 0 :(得分:0)
您需要为toDate选择器设置最短日期
mToEditTextBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog toPicker = new DatePickerDialog(getActivity(), date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
//set min date
Date fromDate = parseFromDate();
if (fromDate != null){
toPicker.getDatePicker().setMinDate(fromDate.getTime());
}
toPicker.getDatePicker().setMaxDate(System.currentTimeMillis()-1000);
toPicker.show();
clickedView = (EditText) v;
}
});
// returns date selected in mFromEditTextBox
private Date parseFromDate(){
try{
SimpleDateFormat f = new SimpleDateFormat("date format you used");
return f.parse(mFromEditTextBox.getText().toString());
} catch (Exception ex) {
// from date is not selected
// alert user to select from date
return null;
}
}
希望这会有所帮助!