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 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记