【问题标题】:how to restrict user to select date of birth who is under 21 years in android如何限制用户在android中选择21岁以下的出生日期
【发布时间】:2017-06-14 13:05:44
【问题描述】:

我正在使用 DatePickerDialog 选择用户的出生日期。如何限制用户选择从当前日期起未满 21 岁的出生日期。

例如:1996年14月6日之后的用户出生日期应该被限制选择

这是我的代码,

 Date today = new Date();
        Calendar c = Calendar.getInstance();
        c.setTime(today);
        c.add( Calendar.YEAR, -21 );
        minDate= c.getTime().getTime();
        Log.v(Constants.TAG, "selecteddsdf " + minDate);

   public void showDatePickerDialog(View v) {

    datePickerDialog = new DatePickerDialog(v.getContext(), new DatePickerDialog.OnDateSetListener() {

        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {


            datePickerDialog.getDatePicker().setMinDate(minDate);

            Calendar newDate = Calendar.getInstance();
            newDate.set(year, monthOfYear, dayOfMonth);
            txtDOB.setText(dateFormatter.format(newDate.getTime()));
            uDOB = dateFormatter2.format(newDate.getTime());
            Log.e(Constants.TAG, "onDateSet: UserDob: " + uDOB);
        }

    }, year, month, date);

    datePickerDialog.show();
}

【问题讨论】:

    标签: android android-dialogfragment android-calendar android-datepicker


    【解决方案1】:

    你可以使用下面的方法

    datePickerDialog.getDatePicker().setMaxDate(minDate.getTime());
    

    设置 minDate

     Date minDate = null;
     SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
     try 
     {
             minDate = sdf.parse("31/12/1996");
     } 
     catch (ParseException e) 
     {
           e.printStackTrace();
      }
    

    【讨论】:

    • 我需要为“your_min_date_long_value”赋予什么价值。因为日期会每天递增
    • 我仍然可以选择 1996 年 6 月 14 日之后的日期
    • 你必须为此减去 21 年
    • @Vishva Dave: 我做了兄弟.. 但同样的事情我可以选择任何日子,包括未来的日子
    • @Vishva Dave:你发现我哪里出错了吗?
    【解决方案2】:

    试试这个

    mDatePicker.getDatePicker().setMinDate(maxDate.getTimeInMillis());
    

    【讨论】:

      猜你喜欢
      • 2018-06-27
      • 2014-08-18
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多