android-DatePickerDialog如果打开则显示错误的日期,然后该日期在其他地方更改

android-DatePickerDialog如果打开则显示错误的日期,然后该日期在其他地方更改,第1张

概述下面的代码显示了DatePickerDialog,供用户插入日期并按预期工作.当日期更新并且用户关闭对话框时,启动DatePickerDialog的按钮将更新以显示所选日期://DatePickerSection@OverrideprotectedDialogonCreateDialog(intid){switch(id){caseDATE_DIALOG_ID:

下面的代码显示了DatePickerDialog,供用户插入日期并按预期工作.当日期更新并且用户关闭对话框时,启动DatePickerDialog的按钮将更新以显示所选日期:

// Date Picker Section@OverrIDeprotected Dialog onCreateDialog(int ID) {    switch (ID) {    case DATE_DIALOG_ID:        Log.i(TAG, "Setting up new date picker "+timestampCalendar);        datepicker =  new DatePickerDialog(this,                mDateSetListener,                timestampCalendar.get(Calendar.YEAR),                timestampCalendar.get(Calendar.MONTH),                timestampCalendar.get(Calendar.DATE));                  return datepicker;    }    return null;}// updates the date we display in the buttonprivate voID updateDatebutton() {           timestampTextVIEw.setText(monthname[timestampCalendar.get(Calendar.MONTH)]+", "+timestampCalendar.get(Calendar.DATE)+" "+timestampCalendar.get(Calendar.YEAR));}// the callback received when the user "sets" the date in the dialogprivate DatePickerDialog.OnDateSetListener mDateSetListener =    new DatePickerDialog.OnDateSetListener() {    public voID onDateSet(DatePicker vIEw, int year, int monthOfYear, int dayOfMonth) {        timestampCalendar.set(year, monthOfYear, dayOfMonth);        datepicker.updateDate(timestampCalendar.get(Calendar.DATE), timestampCalendar.get(Calendar.MONTH), timestampCalendar.get(Calendar.DATE));        updateDatebutton();             }};

但是这里是我开始遇到问题的地方.下面的代码是一个按钮的onClickListener,该按钮将一天添加到timestampCalendar Calendar对象.如果我打开DatePickerDialog并关闭它,请使用“ plus1”按钮,然后再次打开DatePickerDialog,它仍然显示我第一次关闭DatePickerDialog时的日期.

plus1.setonClickListener(new VIEw.OnClickListener() {                   public voID onClick(VIEw vIEw) {                timestampCalendar.add(Calendar.DATE, 1);            currentTimestamp = timestampCalendar.getTimeInMillis();            updateDatebutton();        }                });

我试图通过在设置侦听器中调用DatePickerDialog的updateDate()方法来解决此问题,但这也不起作用.

有人有想法么?

解决方法:

您需要致电此行:

datepicker.updateDate(timestampCalendar.get(Calendar.DATE), timestampCalendar.get(Calendar.MONTH), timestampCalendar.get(Calendar.DATE));

使用plus1按钮时.这将更新日期选择器.

您实际上可以将这行代码移到updateDatebutton();中.停止重复.

总结

以上是内存溢出为你收集整理的android-DatePickerDialog如果打开则显示错误的日期,然后该日期在其他地方更改全部内容,希望文章能够帮你解决android-DatePickerDialog如果打开则显示错误的日期,然后该日期在其他地方更改所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1083520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存