Android DatePicker Date Limiting

后端 未结 4 1864
执笔经年
执笔经年 2020-12-16 04:00

I am using DatePicket in my activity ,

I want to limit the date picked by user to todays date.

They should not able to select date greater than todays date.

4条回答
  •  悲哀的现实
    2020-12-16 04:27

    DatePicker datePicker = (DatePicker)findViewById(R.id.new_date_picker);
    
    
    datePicker.init(year, month, day, new OnDateChangedListener() {
    
        @Override
        public void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
    
            if(isDateAfter(view)){
                Calendar mCalendar = Calendar.getInstance();
                view.init(mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH), this);
            }
        }
    
    
        private boolean isDateAfter(DatePicker tempView) {
            Calendar mCalendar = Calendar.getInstance();
            Calendar tempCalendar = Calendar.getInstance();
            tempCalendar.set(tempView.getYear(), tempView.getMonth(), tempView.getDayOfMonth(), 0, 0, 0);
            if(tempCalendar.after(mCalendar))
                return true;
            else 
                return false;
        }
    });
    

提交回复
热议问题