可以在Android datepicker中禁用某些特定日期吗?

时间:2014-11-28 06:32:01

标签: android date datepicker

我有一个日期选择器,可以禁用过去的日期。

例如,对于我的应用程序,某些事件可能只发生在每周的“星期五和星期一”。在这种情况下,用户必须只能选择星期五和星期一。必须禁用其他日期以供选择。我不想在选择后验证。

如果可能,请告诉我。

日期选择器代码:

      final Calendar c = Calendar.getInstance();
      int mYear = c.get(Calendar.YEAR);
      int mMonth = c.get(Calendar.MONTH);
      int mDay = c.get(Calendar.DAY_OF_MONTH);

    dpd = new DatePickerDialog(InfoActivity.this,
            new DatePickerDialog.OnDateSetListener() {

                @Override
                public void onDateSet(DatePicker view, int year,
                        int month, int dayOfMonth) {

                    month+=1;
                    String day = ""+dayOfMonth;
                    String mon = ""+ month;

                    try {
                        date=convertToINDateFormat(mon+"/"+day+"/"+year);
                    } catch (ParseException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }, mYear, mMonth, mDay);
    dpd.setButton( DatePickerDialog.BUTTON_POSITIVE, "Set", new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick( DialogInterface dialog, int which )
        {

           Intent i = new Intent(InfoActivity.this, ChooseSlot.class);
            startActivity(i);
            finish();

        }
    } );

。 。 。 。 。 。

             Calendar c = Calendar.getInstance();
             c.add(Calendar.DATE, 1);
             Date newDate = c.getTime();
             dpd.getDatePicker().setMinDate(newDate.getTime());
             dpd.show();      

2 个答案:

答案 0 :(得分:0)

我认为您可以使用dpd.getDatePicker().setMaxDate(System.currentTimeMillis());停用以后的日期,但不是具体的未来日期

答案 1 :(得分:0)

访问https://stackoverflow.com/a/44692231/6631959     最好的方法,易于理解......     如果你正在寻找如何禁用指定的日期,那就更好了。 不是循环过程。给出任何确切的日期并禁用它。