0
我想從Edittext中的Datepicker中獲取選定的日期。但月份和年份不會在Edittext中更新。日期選取器沒有在編輯文本中獲取月份和年份
假設在我的DatePicker當前日期25/03/2013,如果我將其更改爲29/02/2011則表明天正常(指29),但仍每個月03年也還是2013,
我不明白爲什麼我的月份和年份沒有更新。
這是我的代碼供您參考。
private int pYear=2012;
private int pMonth=04;
private int pDay=12;
private DatePickerDialog.OnDateSetListener pDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
pYear = year;
pMonth = monthOfYear;
pDay = dayOfMonth;
if (pMonth != Calendar.getInstance().get(Calendar.MONTH)
|| pYear != Calendar.getInstance().get(Calendar.YEAR)) {
pMonth = Calendar.getInstance().get(Calendar.MONTH);
pYear = Calendar.getInstance().get(Calendar.YEAR);
}
updateDisplay();
}
};
/** Updates the date in the TextView */
private void updateDisplay() {
txtdob.setText(new StringBuilder()
// Month is 0 based so add 1
.append(pDay).append("/").append(pMonth + 1).append("/")
.append(pYear).append(" "));
}
/** Create a new dialog for date picker */
@Override
protected Dialog onCreateDialog(int id) {
Calendar cal = Calendar.getInstance();
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(AddBabyActivity.this, pDateSetListener,
cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), pDay);
}
return null;
}
imvDate.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
我真的不明白我在哪裏確切地說錯了。
任何幫助表示讚賞。
確保在更改DatePickerDialog中的值時調用onDateSet方法? – 2013-03-15 07:01:23
日子在變,但只有月和年沒有變化。 – 2013-03-15 07:06:35