【问题标题】:getting error when update to date?更新到最新时出现错误?
【发布时间】:2015-12-29 10:58:38
【问题描述】:

在我的屏幕 FromDate 和 ToDate 那里。我尝试更新 ToDate,但出现错误。当我点击EditText 时如何更新我的日期。我正在使用DatePickerDialog datePickerDialogDatePickerDialog.OnDateSetListener tdate = ...,接下来我将调用updateLabelToDate(); 方法。 请找到我的代码

private void updateLabel() {
    String myFormat = "dd-MM-yyyy";//In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
    fromDate = myCalendar.getTime();
    edtAccessFrom.setText(sdf.format(fromDate));
    myStartdate = edtAccessFrom.getText().toString();
}

private void updateLabelToDate() {
    String myFormat = "dd-MM-yyyy";//In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
    toDate = myCalendar.getTime();
    myEndDate = sdf.format(toDate).toString();
    try {
        SimpleDateFormat compareFormat = new SimpleDateFormat("dd-MM-yyyy");
        date1 = compareFormat.parse(myStartdate);
        date2 = compareFormat.parse(myEndDate);

        if (date1.equals(date2)) {
            edtAccessTo.setText(sdf.format(toDate));
        }

        if (date1.before(date2)) {
            edtAccessTo.setText(sdf.format(toDate));
        }

        if (date1.after(date2)) {
            Toast.makeText(RoleManagementActivity.this, com.yougotag.pharmatenant.Utility.TO_DATE_GREATER, Toast.LENGTH_SHORT).show();
            edtAccessTo.setText("");
        }
    } catch (ParseException pe) {

    }
}

这里显示错误

SimpleDateFormat compareFormat = new SimpleDateFormat("dd-MM-yyyy");
        date1 = compareFormat.parse(myStartdate);
        date2 = compareFormat.parse(myEndDate);

我的错误日志

java.lang.NullPointerException 
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1009) 
at java.text.DateFormat.parse(DateFormat.java:553) at com.yougotag.pharmatenant.RoleManagementActivity.updateLabelToDate(RoleManagementActivity.java:842) 
at com.yougotag.pharmatenant.RoleManagementActivity.access$100(RoleManagementActivity.java:61)
at com.yougotag.pharmatenant.RoleManagementActivity$3.onDateSet(RoleManagementActivity.java:349)
at android.app.DatePickerDialog.tryNotifyDateSet(DatePickerDialog.java:148)
at android.app.DatePickerDialog.onClick(DatePickerDialog.java:116)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5333)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 只需检查 myStartdate 和 myEndDate 的值,您可能会将其设为空。
  • 你确定,我会检查

标签: android date android-edittext


【解决方案1】:

请参阅下面的 Stackoverflow question

因此您可以为 EditTexts 设置 onClick 事件,然后继续其余的操作。

希望这会有所帮助。

【讨论】:

  • 谢谢你发布你的答案......但我想要的是 date1 和 date2 是空的......这样错误来了......其他屏幕工作正常......跨度>
猜你喜欢
  • 2017-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
相关资源
最近更新 更多