ssummeraw 2013-08-26 09:16 采纳率: 10%
浏览 953

数据库中检索日期出现的错误

我用下面的代码创建DatePickerDialog,我想在数据库中检索用户的出生日期,当我打开dateDialog时,应该是用户的出生日期。现在的日期不对,应该是9月份,结果出来是10月份。这是什么原因造成的,如何改代码啊?

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {

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

    case DATE_DIALOG_ID:
        ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);

        break;
    }
}   
private void updateDisplay() {
    dateText.setText(
        new StringBuilder()
        // Month is 0 based so add 1

        .append(mMonth +1).append("/")
        .append(mDay).append("/")
        .append(mYear).append(" "));
}

DatePickerDialog.OnDateSetListener mDateSetListener =
        new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            mYear = year;
            mMonth = monthOfYear;
            mDay = dayOfMonth;
            dob1 = (monthOfYear + "/" + dayOfMonth + "/" + year);
            if(maxYear - mYear <= 12){
                alertMessage = "User must be above age of 12.";
                dialogBox();
                year = mYear;
            }
            else{
                updateDisplay();
            }
        }
    };
  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-13 20:02
    关注

    原因是在创建日期对话框时,您将用户的出生月份和日期传递给了mMonth和mDay变量。但是,在更新日期对话框时,您使用的是这些变量而不是出生月份和日期。


    要解决这个问题,您可以在onPrepareDialog方法中使用用户的出生月份和日期来更新日期对话框。例如:

    ((DatePickerDialog) dialog).updateDate(mYear, birthMonth, birthDay);
    

    或者你可以在 onDateSet 方法中直接调用updateDisplay()方法来更新显示,而不是使用OnPrepareDialog来更新

    updateDisplay();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题