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 方程如何编到C语言!
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了