当我第二次运行我的应用程序时,我得到Null指针异常

时间:2017-05-05 11:20:35

标签: android nullpointerexception

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.trim()' on a null object reference

这是异常指向的行

  String tot=avg[i+2];
             total=Float.parseFloat(tot);

 adapter=new VivaAdapter(Attendance.this,gedata());

我以字符串的形式接收数据,然后将其转换为float,但应用程序第一次运行良好,但第二次抛出异常

我试图更改avg [i + 2] .trim()但是工作

应用程序每隔一段时间崩溃

Eception log:

/AndroidRuntime: FATAL EXCEPTION: main
                                                                                      Process: com.example.rushabh123453.attendancepict, PID: 643
                                                                                      java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.trim()' on a null object reference
                                                                                          at java.lang.StringToReal.parseFloat(StringToReal.java:304)
                                                                                          at java.lang.Float.parseFloat(Float.java:306)
                                                                                          at com.example.rushabh123453.attendancepict.Attendance$Networking1.onPostExecute(Attendance.java:189)
                                                                                          at android.os.AsyncTask.finish(AsyncTask.java:636)
                                                                                          at android.os.AsyncTask.access$500(AsyncTask.java:177)
                                                                                          at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                          at android.os.Looper.loop(Looper.java:211)
                                                                                          at android.app.ActivityThread.main(ActivityThread.java:5389)
                                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                                          at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
                                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

2 个答案:

答案 0 :(得分:0)

您应该检查String是否为null。您无法使用空值调用方法trim() String。

答案 1 :(得分:0)

在解析为float

之前添加一个空检查
if(!TextUtils.isEmpty(tot)){
   total=Float.parseFloat(tot);
}