如何在我的savedInstanceState上修复NullPointerException以及为什么发生

时间:2019-07-07 18:43:16

标签: java android mapbox

我已经在单独的android项目及其工作之前构建了此映射应用程序。当我尝试与另一个系统集成时,会出现问题,我复制了与先前项目映射系统相同的所有代码。问题是我的“ savedInstanceState”上没有null,我该如何解决?

这是我在手机android 9上运行的新项目的映射系统。我希望在集成所有项目之前先与项目A(“ ..”)和项目B(“映射系统”)集成。


-error message- on  mapView.onCreate(savedInstanceState);

private MapView mapView;
  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 
'void com.mapbox.mapboxsdk.maps.MapView.onCreate(android.os.Bundle)' 
on a null object reference


  @Override
  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

            Mapbox.getInstance(this,   "......");
            setContentView(R.layout.activity_main);
            mapView = findViewById(R.id.mapView);

            mapView.onCreate(savedInstanceState);
            mapView.getMapAsync(this);
    }

   @Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle   outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
        mapView.onSaveInstanceState(outState);
    }

预期结果: 地图显示

实际结果: 该应用程序崩溃是因为我的“ mapView.onCreate(savedInstanceState);”上没有空值

1 个答案:

答案 0 :(得分:0)

List<Employee>为null,当活动首次开始时。

最安全的调用方法是在任何地方使用它之前,请确保它不为null。

savedInstanceState