Android log java.lang.NullPointerException



我得到一个异常,我不明白。从设备350,只有三个这样的。下面是日志本身:

java.lang.IllegalStateException: Could not execute method of the activity
     at android.view.View$1.onClick(View.java:3724)
     at android.view.View.performClick(View.java:4261)
     at android.view.View$PerformClick.run(View.java:17356)
     at android.os.Handler.handleCallback(Handler.java:615)
     at android.os.Handler.dispatchMessage(Handler.java:92)
     at android.os.Looper.loop(Looper.java:137)
     at android.app.ActivityThread.main(ActivityThread.java:4921)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:511)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
     at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:511)
     at android.view.View$1.onClick(View.java:3719)
      ... 11 more
     Caused by: java.lang.NullPointerException
     at com.ex.MainActivity.ParseQueryMap(MainActivity.java:397)
     at com.ex.MainActivity.onClickParse(MainActivity.java:493)
     ... 14 more

这是我认为错误的地方:

public void onClickParse(View view) {        
  myMap.clear();
  ParseQueryMap();
}

和来自数据库的查询(ParseQueryMap)

public void ParseQueryMap() {
  userLocation = new ParseGeoPoint(location.getLatitude(), location.getLongitude());
  ParseQuery query = new ParseQuery("MyObject");
  query.findInBackground(new FindCallback() {
    public void done(List<ParseObject> myObject, ParseException e) {
      if (e == null) {
        for (int i = 0; i < myObject.size(); i++) {
          commGet = myObject.get(i).getString("Comment");
          bugGet = myObject.get(i).getObjectId();
          geo1Dub = myObject.get(i).getParseGeoPoint("location").getLatitude();
          geo2Dub = myObject.get(i).getParseGeoPoint("location").getLongitude();
        }
      } else {
        Toast.makeText(MainActivity.this, "Error!", Toast.LENGTH_SHORT).show();
      }
    }
  });

有人知道是什么导致这个错误吗?

通常发生在对象引用为空的地方,而您的代码假定它不会为空。找到它的最简单的方法之一:在IDE的第397行设置一个调试断点,在调试模式下运行应用程序,然后对该行中的每个名称或表达式使用inspect/watch来查找值为null的内容。

相关内容

最新更新