【问题标题】:How to set focus on the minimum date in datepickerdialog android?如何将焦点设置在 datepickerdialog android 中的最小日期上?
【发布时间】:2017-09-22 06:00:08
【问题描述】:

在 DatePickerDialog 中设置最小和最大日期后,无法将焦点设置在最小日期上。

final DatePickerDialog datePickerDialog = new DatePickerDialog(Test.this, new DatePickerDialog.OnDateSetListener() {
  @Override
  public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {   
  }
}, mYear, mMonth, mDay);
Calendar max= Calendar.getInstance();
max.add(Calendar.DAY_OF_MONTH, 4);

datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.getDatePicker().setMaxDate(max.getTimeInMillis());
datePickerDialog.show();`

【问题讨论】:

  • 到目前为止您尝试的方法在这里发布您的代码。

标签: android datepickerdialog


【解决方案1】:

这是将今天设置为最短日期和最长日期为 4 年后的代码。 在今天之前和 4 年后,您将无法选择日期。

public class DateActivity extends Activity {

TextView tvDatePicker;
Calendar cal,cal1;
long maxDate;
Date date;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    cal = Calendar.getInstance();
    cal1 = Calendar.getInstance();

    tvDatePicker = (TextView) findViewById(R.id.txtDatePicker);
    tvDatePicker.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            DatePickerDialog dialog = new DatePickerDialog(MainActivity.this, new OnDateSetListener() {

                @Override
                public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {

                }
        }, cal.YEAR, cal.MONTH, cal.DAY_OF_MONTH);
        dialog.getDatePicker().setMinDate(System.currentTimeMillis());
        cal1.add(Calendar.YEAR, 4);
        dialog.getDatePicker().setMaxDate(cal1.getTimeInMillis());
        dialog.show();
    }
});
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多