【问题标题】:DatePicker and TimePicker crash when I press the Set button当我按下设置按钮时,DatePicker 和 TimePicker 崩溃
【发布时间】:2015-12-09 15:48:29
【问题描述】:

我正在制作一个信使,当我单击按钮时会弹出日期和时间选择器。当我按下设置按钮来显示它们时,应用程序崩溃了。我的代码是:

    private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        yearSet = year;
        monthSet = monthOfYear + 1;
        daySet = dayOfMonth;
        btnDate.setText(yearSet + monthSet + daySet);
        }
    };

    private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker view, int hour, int minute) {
        hourSet = hour;
        minuteSet = minute;
        btnTime.setText(hourSet + minuteSet);
        }
    };

LogCat:

    E/AndroidRuntime: FATAL EXCEPTION: main
          android.content.res.Resources$NotFoundException: String resource ID #0x7f4
          at android.content.res.Resources.getText(Resources.java:1068)
          at android.widget.TextView.setText(TextView.java:4546)
          at devncode.kemo.testApp.SendMessageActivity$3.onDateSet(SendMessageActivity.java:95)
          at android.app.DatePickerDialog.tryNotifyDateSet(DatePickerDialog.java:199)
          at android.app.DatePickerDialog.onClick(DatePickerDialog.java:154)
          at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:185)
          at android.os.Handler.dispatchMessage(Handler.java:99)
          at android.os.Looper.loop(Looper.java:176)
          at android.app.ActivityThread.main(ActivityThread.java:5419)
          at java.lang.reflect.Method.invokeNative(Native Method)
          at java.lang.reflect.Method.invoke(Method.java:525)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
          at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 将您的 setText 更改为 btnDate.setText(yearSet + monthSet + daySet+ "");
  • 谢谢 Prera​​k,它成功了

标签: java android datepicker timepicker


【解决方案1】:

您的问题是您将不同项目的文本设置为整数。例如 btn.setText(int); 应该是字符串 btn.setText(String);

所以要修复它,无论你有什么类似的东西

btnTime.setText(hourSet + minuteSet);

改成

btnTime.setText(hourSet + minuteSet + "");

添加+ "" 会将其转换为字符串并且不会报错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2018-06-30
    • 2020-10-15
    • 2011-06-05
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多