我在我的应用程序中执行以下操作:
1.我有两个EditText
盒子。
单击它们中的每一个都会
DatePickerDialog
弹出一个。我在 Datepicker 中设置日期。
关闭对话框时,日期会在编辑文本中设置。
问题如下。
在 datepicker 中设置日期后,datepicker 始终显示我设置的日期,而不是当前日期。即,如果我在再次单击编辑文本时将日期设置为 2014-09-09,则日期选择器上的日期显示为上述设置日期,而不是当前日期。
谁能指导我如何逐步解决此问题..
我的代码如下:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.edt_date_from:
InputMethodManager imm = (InputMethodManager) getSystemService(this.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edt_date_to.getWindowToken(), 0);
edt = 1;
showDialog(DATE_DIALOG_ID);
break;
case R.id.edt_date_to:
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
edt = 2;
showDialog(DATE_DIALOG_ID);
break;
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
Calendar cal = Calendar.getInstance();
int iDay,
iMonth,
iYear;
iDay = cal.get(Calendar.DAY_OF_MONTH);
iMonth = cal.get(Calendar.MONTH);
iYear = cal.get(Calendar.YEAR);
DatePickerDialog dp = new DatePickerDialog(this, pDateSetListener,
iYear, iMonth, iDay);
dp.updateDate(iYear, iMonth, iDay);
return dp;
}
return null;
}
private DatePickerDialog.OnDateSetListener pDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
years = year;
month = monthOfYear;
day = dayOfMonth;
updateDisplay();
}
};
public void updateDisplay() {
// TODO Auto-generated method stub
if (edt == 1) {
date_frm.setText(new StringBuilder()
.append(day).append("-").append(month + 1).append("-")
.append(years).append(" "));
} else {
edt_date_to.setText(new StringBuilder()
.append(day).append("-").append(month + 1).append("-")
.append(years).append(" "));
}
}