将DatePickerDialog设置为允许1900年之前的日期

时间:2018-04-08 20:11:59

标签: java android datepicker datepickerdialog

我正在构建生日猜谜游戏,该游戏接受来自DatePickerDialog框的用户输入日期,该框在用户触摸textView框时弹出。唯一的问题是允许的最小日期是1900年的第一天。我需要能够访问1700年的日期。有没有办法调整DatePickerDialog中显示的最小日期。

这是我在main.java文件中的内容

//Date Bar initial display (will display current date)
    mDisplayDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Calendar cal = Calendar.getInstance();
            int year = cal.get(Calendar.YEAR);
            int month = cal.get(Calendar.MONTH);
            int day = cal.get(Calendar.DAY_OF_MONTH);

            DatePickerDialog dialog = new DatePickerDialog(GuessMaster.this,
                    android.R.style.Theme_Holo_Light_Dialog_MinWidth,
                    mDateSetListener, year, month, day);
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
            dialog.show();



        }
    });

    //Date Bar Input Listener
    mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
            month+=1;// now will treat january as 1 instead of 0
            String date = month+"/"+dayOfMonth+"/"+year;
            mDisplayDate.setText(date);

            Log.d(TAG, "onDateSet:"+year+"/"+month+"/"+dayOfMonth);

        }

谢谢

1 个答案:

答案 0 :(得分:-1)

请尝试以下操作:

dialog.getDatePicker().updateDate(year,month,day);