在DatePicker Android中禁用日期

在DatePicker Android中禁用日期,android,datepicker,Android,Datepicker,在注册时,用户必须注明其生日。所以他应该从日期选择器中选择一个日期。 是否可以不在日期选择器中显示日期>实际日期 private void showDatePicker() { DatePickerFragment date = new DatePickerFragment(); Calendar calender = Calendar.getInstance(); Bundle args = new Bundle(); args.putInt("year",

在注册时,用户必须注明其生日。所以他应该从日期选择器中选择一个日期。 是否可以不在日期选择器中显示日期>实际日期

private void showDatePicker()
{
    DatePickerFragment date = new DatePickerFragment();

    Calendar calender = Calendar.getInstance();
    Bundle args = new Bundle();
    args.putInt("year", calender.get(Calendar.YEAR));
    args.putInt("month", calender.get(Calendar.MONTH));
    args.putInt("day", calender.get(Calendar.DAY_OF_MONTH));
    date.setArguments(args);

    date.setCallBack(ondate);
    date.show(getActivity().getSupportFragmentManager(), "Date Picker");
}
使用
日期选择器


您不会显示您的
DatePickerFragment
是什么,但是如果它是
DatePickerDialog
的某种包装器,您可以使用(需要API级别11)访问
DatePicker

您可以使用Date类的after/before方法检查这个条件。检查以下示例:

@Override
protected Dialog onCreateDialog(int id) {
    // TODO Auto-generated method stub
    Calendar c = Calendar.getInstance();
    int cyear = c.get(Calendar.YEAR);
    int cmonth = c.get(Calendar.MONTH);
    int cday = c.get(Calendar.DAY_OF_MONTH);

    switch (id) {
    case DATE_DIALOG_ID:
        return new DatePickerDialog(this, mDateSetListener, cyear, cmonth,
                cday);
    }
    return null;
}
private final DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
    // onDateSet method
    public void onDateSet(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {

        Date currentDate = new Date();

        Date date = new Date(year - 1900, monthOfYear, dayOfMonth);

        if(currentDate.after(date)){
            Log.d("System out", "True: Current date: "+currentDate +"  Selected date: "+date);
        }else{
            Toast.makeText(getApplicationContext(), "kindly select a valid date", Toast.LENGTH_LONG).show();
            showDialog(DATE_DIALOG_ID);
        }
    }
};

那你为什么要插入它呢。??若你们并没有显示它,那个么用户如何知道他/她输入了正确的生日???用户必须在DatePicker中只看到日期<实际日期。这是我的问题,请问有没有可能?我找不到你。。解释丙烯日期选择器,用户只能看到日期<实际日期。例如,今天是2013年11月12日。这是最大值。因此,用户只能在DatePicker中看到小于2013年11月12日的日期。