Android 使用 Google 地方时出现空指针异常
Android Null Pointer Exception when using Google Places
我正在学习 android 并使用一个使用位置 api 的示例。我的堆栈跟踪如下。
03-28 22:08:47.228 10687-10687/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.test.class, PID: 10687
java.lang.RuntimeException: Failure delivering result ResultInfo{who=android:fragment:0, request=1, result=-1, data=Intent { (has extras) }} to activity {com.test.class/com.test.class.MapActivity}: java.lang.NullPointerException
at android.app.ActivityThread.deliverResults(ActivityThread.java:3446)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3489)
at android.app.ActivityThread.access00(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
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:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.test.class.MapActivity.onPlaceSelected(MapActivity.java:114)
at com.google.android.gms.location.places.ui.PlaceAutocompleteFragment.onActivityResult(Unknown Source)
at android.app.Activity.dispatchActivityResult(Activity.java:5450)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3442)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3489)
at android.app.ActivityThread.access00(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
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:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
我的代码如此处所示 https://dpaste.de/iOmQ#L114 导致了错误。关于我做错了什么的任何指示?
您永远不会为 mPlaceDetailsText
赋值。在 onCreate(...)
中,您需要在 setContentView(...)
之后的某个时间添加以下行:
mPlaceDetailsText = (TextView) findViewById(R.id.id_from_layout_file);
并用 map_activity
布局文件中 TextView
的实际 ID 替换 R.id.id_from_layout_file
。
也为 mPlaceAttribution
做同样的事情。
我正在学习 android 并使用一个使用位置 api 的示例。我的堆栈跟踪如下。
03-28 22:08:47.228 10687-10687/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.test.class, PID: 10687
java.lang.RuntimeException: Failure delivering result ResultInfo{who=android:fragment:0, request=1, result=-1, data=Intent { (has extras) }} to activity {com.test.class/com.test.class.MapActivity}: java.lang.NullPointerException
at android.app.ActivityThread.deliverResults(ActivityThread.java:3446)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3489)
at android.app.ActivityThread.access00(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
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:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.test.class.MapActivity.onPlaceSelected(MapActivity.java:114)
at com.google.android.gms.location.places.ui.PlaceAutocompleteFragment.onActivityResult(Unknown Source)
at android.app.Activity.dispatchActivityResult(Activity.java:5450)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3442)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3489)
at android.app.ActivityThread.access00(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
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:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
我的代码如此处所示 https://dpaste.de/iOmQ#L114 导致了错误。关于我做错了什么的任何指示?
您永远不会为 mPlaceDetailsText
赋值。在 onCreate(...)
中,您需要在 setContentView(...)
之后的某个时间添加以下行:
mPlaceDetailsText = (TextView) findViewById(R.id.id_from_layout_file);
并用 map_activity
布局文件中 TextView
的实际 ID 替换 R.id.id_from_layout_file
。
也为 mPlaceAttribution
做同样的事情。