2016-04-18 28 views
2

我使用AppCompatActivity扩展的类与谷歌地图,我有下面的代码与类和创建方法的GoogleMap与AppCompatActivity类

import android.support.v7.app.AppCompatActivity; 
 

 
public class MainHistoryActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener,OnMapReadyCallback { 
 

 
private GoogleMap mMap; 
 

 

 

 
    protected void onCreate(Bundle savedInstanceState) { 
 
      super.onCreate(savedInstanceState); 
 
      setContentView(R.layout.activity_main_history); 
 
      
 

 

 
SupportMapFragment mapFragment =(SupportMapFragment) getSupportFragmentManager() 
 
        .findFragmentById(R.id.map); 
 
      mapFragment.getMapAsync(this); 
 

 
    } 
 

 
    @Override 
 
     public void onMapReady(GoogleMap googleMap) { 
 
      mMap = googleMap; 
 

 
      // Add a marker in Sydney and move the camera 
 
      LatLng sydney = new LatLng(-34, 151); 
 
      mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
 
      mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
 
     }

代码失败,下面的错误

04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime: Process: com.dbprox.selfpatrol, PID: 14938 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dbprox.selfpatrol/com.dbprox.selfpatrol.MainHistoryActivity}: java.lang.NullPointerException 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2380) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2432) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.access$800(ActivityThread.java:154) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:110) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:193) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5347) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at java.lang.reflect.Method.invokeNative(Native Method) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:515) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:835) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:651) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at dalvik.system.NativeStart.main(Native Method) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime: Caused by: java.lang.NullPointerException 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at com.dbprox.selfpatrol.MainHistoryActivity.onCreate(MainHistoryActivity.java:59) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.Activity.performCreate(Activity.java:5360) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2334) 
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2432)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.access$800(ActivityThread.java:154)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:110)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:193)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5347)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at java.lang.reflect.Method.invokeNative(Native Method)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:515)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:835)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:651)  
 
04-19 00:16:00.719 14938-14938/com.dbprox.selfpatrol E/AndroidRuntime:  at dalvik.system.NativeStart.main(Native Method) 

我有以下的的build.gradle声明的依赖性

compile fileTree(include: ['*.jar'], dir: 'libs') 
 
testCompile 'junit:junit:4.12' 
 
compile 'com.android.support:design:23.1.1' 
 
compile 'com.google.android.gms:play-services:8.4.0' 
 
compile 'com.google.android.gms:play-services-ads:8.3.0' 
 
compile 'com.google.android.gms:play-services-identity:8.3.0' 
 
compile 'com.google.android.gms:play-services-gcm:8.3.0' 
 
compile 'com.android.support:appcompat-v7:23.1.1' 
 
compile 'org.apache.httpcomponents:httpclient:4.5'

+0

显示您的activity_main_history.xml文件 –

+0

具有相同的问题您是否找到解决方案? –

回答

0

基本上NullPointerExceptionUnable to start activity当有问题的活动onCreate()方法进行。如果我们没有在我们的活动中正确映射xml UI,并且最后尝试访问另一个布局文件中的UI,则会更改与此活动相关的任何xml布局值。检查所有映射的元素并给出一个唯一的名称。检查你的内容视图声明和mapFragment的值。

+1

如果我删除他地图相关的命令一切正常。小号 –