Java 如何禁用最近3天和将来的DateTimePicker android

Java 如何禁用最近3天和将来的DateTimePicker android,java,android,datetimepicker,datepickerdialog,Java,Android,Datetimepicker,Datepickerdialog,我第一次尝试使用DateTimePicker,但在最后3天和将来的一天,我很困惑要禁用它。嗯,也许我一直在研究 但是我不能在我的功能中实现 这是我在单击TextView时显示DateTimePicker的函数 private void setDatePicker() { calDate1 = Calendar.getInstance(); calDate2 = Calendar.getInstance(); final DatePickerDialog.OnDateSetListener dat

我第一次尝试使用DateTimePicker,但在最后3天和将来的一天,我很困惑要禁用它。嗯,也许我一直在研究 但是我不能在我的功能中实现

这是我在单击TextView时显示DateTimePicker的函数

private void setDatePicker() {
calDate1 = Calendar.getInstance();
calDate2 = Calendar.getInstance();
final DatePickerDialog.OnDateSetListener dateSet1 = new DatePickerDialog.OnDateSetListener() {
  @Override
  public void onDateSet(DatePicker datePicker, int year, int month, int date) {
    calDate1.set(year, month, date);
    displayDate(tvDate1, calDate1);
  }
};
tvDate1.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    new DatePickerDialog(TicketStatusActivity.this, dateSet1, calDate1.get(Calendar.YEAR), calDate1.get(Calendar.MONTH), calDate1.get(Calendar.DAY_OF_MONTH)).show();
  }
});
final DatePickerDialog.OnDateSetListener dateSet2 = new DatePickerDialog.OnDateSetListener() {
  @Override
  public void onDateSet(DatePicker datePicker, int year, int month, int date) {
    calDate2.set(year, month, date);
    displayDate(tvDate2, calDate2);
  }
};
tvDate2.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    new DatePickerDialog(TicketStatusActivity.this, dateSet2, calDate2.get(Calendar.YEAR), calDate2.get(Calendar.MONTH), calDate2.get(Calendar.DAY_OF_MONTH)).show();
  }
});
displayDate(tvDate1, calDate1);
displayDate(tvDate2, calDate2);}
对不起,如果这个问题不重要,我的语法不好
고맙습니다

在日期选择器中设置MaxDate

试试这个:

Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, -3);
        DatePickerDialog dpDialog = new DatePickerDialog(this, myDateListener, mYear, mMonth, mDay);
        dpDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());

这是我的工作,但为什么禁用直到第4天和在第4天不能选择。例如now=2018-08-10天-3=2018-08-08应该是8,9,10可以点击而不被禁用,但不是那样,7,8,9,10不被禁用。我正在测试界面中是否不能但未禁用click 7?