【发布时间】:2015-01-06 17:57:01
【问题描述】:
2:10:25.524:E/AndroidRuntime(2019):致命异常:主要 01-06 12:10:25.524: E/AndroidRuntime(2019): 进程: com.kandy, PID: 2019 01-06 12:10:25.524: E/AndroidRuntime(2019): java.lang.RuntimeException:无法启动活动 组件信息{com.kandy/com.kandy.citymap}: java.lang.NullPointerException 01-06 12:10:25.524: E/AndroidRuntime(2019):在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 01-06 12:10:25.524: E/AndroidRuntime(2019): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 01-06 12:10:25.524: E/AndroidRuntime(2019): 在 android.app.ActivityThread.access$800(ActivityThread.java:135) 01-06 12:10:25.524:E/AndroidRuntime(2019):在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 01-06 12:10:25.524: E/AndroidRuntime(2019): 在 android.os.Handler.dispatchMessage(Handler.java:102) 01-06 12:10:25.524:E/AndroidRuntime(2019):在 android.os.Looper.loop(Looper.java:136) 01-06 12:10:25.524: E/AndroidRuntime(2019):在 android.app.ActivityThread.main(ActivityThread.java:5017) 01-06 12:10:25.524:E/AndroidRuntime(2019):在 java.lang.reflect.Method.invokeNative(Native Method) 01-06 12:10:25.524:E/AndroidRuntime(2019):在 java.lang.reflect.Method.invoke(Method.java:515) 01-06 12:10:25.524: E/AndroidRuntime(2019):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 01-06 12:10:25.524: E/AndroidRuntime(2019): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 01-06 12:10:25.524:E/AndroidRuntime(2019):在 dalvik.system.NativeStart.main(本机方法)01-06 12:10:25.524: E/AndroidRuntime(2019):原因:java.lang.NullPointerException 01-06 12:10:25.524: E/AndroidRuntime(2019): 在 com.kandy.citymap.onCreate(citymap.java:25) 01-06 12:10:25.524: E/AndroidRuntime(2019):在 android.app.Activity.performCreate(Activity.java:5231) 01-06 12:10:25.524:E/AndroidRuntime(2019):在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 01-06 12:10:25.524: E/AndroidRuntime(2019): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
我正在为这个使用谷歌地图
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import android.app.Activity;
import android.os.Bundle;
public class citymap extends Activity {
GoogleMap gmap;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.citymap);
gmap=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
gmap.setMapType(GoogleMap.MAP_TYPE_NORMAL);//line 25
gmap.setMyLocationEnabled(true);
gmap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(7.2964, 80.6350),12));
gmap.addMarker(new MarkerOptions().position(new LatLng(7.2964, 80.6350)).title("Kandy"));
}}
【问题讨论】:
-
我会假设 gmap.setMapType() 是什么导致你的 NPE?那是因为您的地图还没有膨胀,所以 getMap 返回 null。只是猜测。
-
标记你的行号 25。
-
首先格式化您的堆栈跟踪,使其真正可读
-
@BeingMIAkashs 标记了它
标签: java android eclipse google-maps android-intent