2013-04-05 31 views
0

我试图以“MM/DD/YYYY”的形式出生,并且我想考虑“将来”日期无效。避免验证生日的将来日期

这里是我到目前为止的代码:

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

//String db=bdate.getText().toString(); 

bdate.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     showDialog(DATE_DIALOG_ID); 
    } 
    }); 
    updateDisplay(); 
} 

private void updateDisplay() { 
    // TODO Auto-generated method stub 
    this.bdate.setText(new StringBuilder() 
    // Month is 0 based so add 1 
    .append(mDay).append("-").append(mMonth + 1).append("-") 
    .append(mYear).append(" ")); 
} 

private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { 
    public void onDateSet(DatePicker view, int monthOfYear, int dayOfMonth,int year) { 
    mDay = dayOfMonth; 
    mMonth = monthOfYear; 
    mYear = year; 

    if (year > mYear) 
     view.updateDate(mYear,mMonth,mDay); 

    if (monthOfYear > mMonth && year == mYear) 
     view.updateDate(mYear, mMonth, mDay); 

    if (dayOfMonth > mDay && year == mYear && monthOfYear == mMonth) 
     view.updateDate(mDay, mMonth, mYear); 

    updateDisplay(); 
    } 
}; 

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case DATE_DIALOG_ID: 
     return new DatePickerDialog(this, mDateSetListener,mDay,mMonth,mYear); 
    } 
    return null; 
} 

我用的TextView,但此刻它接受“未来”的日期。我如何改进我的验证码?

回答