0
你好我正在使用DatePickerDialog及其按预期工作。DatePickerDialog与以前打开的屏幕打开
以下是我的代码。
Calendar newCalendar = Calendar.getInstance();
dobDatePickerDialog = new DatePickerDialog(this, new OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
if (view.isShown()) {
//view.setMaxDate(new Date().getTime());
Calendar dob = Calendar.getInstance();
dob.set(year, monthOfYear, dayOfMonth);
Calendar now = Calendar.getInstance();
int year1 = now.get(Calendar.YEAR);
int year2 = dob.get(Calendar.YEAR);
int age = year1 - year2;
if (age <= 18) {
Toast.makeText(EditProfileActivity.this, MyUtils.getStringFromResource(EditProfileActivity.this, R.string.validate_date_18_above), Toast.LENGTH_SHORT).show();
dobFld.setText("");
} else {
isDataChanged = true;
dobFld.setText(dateFormatter.format(dob.getTime()));
}
}
}
}, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
dobDatePickerDialog.getDatePicker().setMaxDate(new Date().getTime());
dobDatePickerDialog.updateDate(birthYear,birthMonth-1,birthDay);
}
它显示我选择的日期。但问题是,如果我点击年份选项(在对话框顶部)来更改年份,然后取消或按下确定按钮而不更改年份值。然后对话变得诡诈。但下一次,如果我打开选择器,它是开放的年份视图不在最初的日历视图..
下面是我的代码来引入对话框。
dobFld = (EditText) findViewById(R.id.dobFld);
dobFld.setInputType(InputType.TYPE_NULL);
dobFld.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dobDatePickerDialog.show();
}
});
请给我一些线索如何初始化选择器,以便按预期打开日历视图。