Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Get java.lang.NumberFormatException:对于输入字符串:";空";尝试在消息中显示数据时_Java_Android_Android Studio - Fatal编程技术网

Get java.lang.NumberFormatException:对于输入字符串:";空";尝试在消息中显示数据时

Get java.lang.NumberFormatException:对于输入字符串:";空";尝试在消息中显示数据时,java,android,android-studio,Java,Android,Android Studio,我不断遇到这个问题,我试图显示消息在消息传递应用程序中发布的日期,我不断收到这个错误,应用程序不断崩溃 String message = chatList.get(position).getMessage(); String timeStamp = chatList.get(position).getTimestamp(); Calendar cal = Calendar.getInstance(Locale.ENGLISH); cal.setT

我不断遇到这个问题,我试图显示消息在消息传递应用程序中发布的日期,我不断收到这个错误,应用程序不断崩溃

String message = chatList.get(position).getMessage();
        String timeStamp = chatList.get(position).getTimestamp();

        Calendar cal = Calendar.getInstance(Locale.ENGLISH);
        cal.setTimeInMillis(Long.parseLong(timeStamp));
        String dateTime = DateFormat.format("dd/MM/yyyy hh:mm aa", cal).toString();

        holder.messageTv.setText(message);
        holder.timeTv.setText(dateTime);
这是我收到的logcat错误:

2020-09-02 22:10:08.411 13445-13445/com.x00122898.meetupproject E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.x00122898.meetupproject, PID: 13445
    java.lang.NumberFormatException: For input string: "null"
        at java.lang.Long.parseLong(Long.java:594)
        at java.lang.Long.parseLong(Long.java:636)
        at com.x00122898.meetupproject.ChatActivity$1.onDataChange(ChatActivity.java:107)
        at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@16.0.4:75)
        at com.google.firebase.database.core.view.DataEvent.fire(com.google.firebase:firebase-database@@16.0.4:63)
        at com.google.firebase.database.core.view.EventRaiser$1.run(com.google.firebase:firebase-database@@16.0.4:55)
        at android.os.Handler.handleCallback(Handler.java:888)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:213)
        at android.app.ActivityThread.main(ActivityThread.java:8178)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
2020-09-02 22:10:08.422 13445-13445/com.x00122898.meetupproject I/Process: Sending signal. PID: 13445 SIG: 9

非常感谢您的帮助~

问题在于这两行代码:

String timeStamp = chatList.get(position).getTimestamp();
cal.setTimeInMillis(Long.parseLong(timeStamp));
变量timeStamp包含字符串/单词“null”,当您尝试将其解析为Long时,它抛出NumberFormatException。 您必须捕获异常或验证时间戳是否包含数值(请参阅)


另外,可能方法getTimestamp()没有返回正确的变量,或者时间戳从未保存或发送过。问题似乎发生在ChatActivity.java第107行,其中的值实际上是“null”。参见前面的答案

时间戳为空。不是正常的null,它是文本字符串“null”。我们无法解释原因,因为没有给出该代码。您需要在设置时间戳数据的行中发布:chatList.get(position.getTimestamp()。可能只需要初始化get(position)对象中的属性。例如,在此调用chatList返回的对象的构造函数中。get(position)直接初始化时间戳::this.timestamp=String.valueOf(Instant.now().getEpochSecond());或者用数据库中的数据或其他方式初始化它。