<分区>
我有一个在手机上运行良好的 GPS 应用程序。但是,我看到有人在生产中出现空指针异常。
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
// Getting GoogleMap object from the fragment
googleMap = fm.getMap();
// Enabling MyLocation Layer of Google Map
googleMap.setMyLocationEnabled(true);
googleMap.setPadding(0, 0, 0, 90);
我从生产中得到的错误是 原因:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setMyLocationEnabled(boolean)' on a null object reference
所以我做了一些研究,发现 getMap 方法已被删除,人们建议使用 getMapAsync(this);
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap; //which doesn't seem to work
}
但是,我在许多不同的方法中引用了 googleMap
变量,我不能将所有代码都移到 onMapReady
方法中。我尝试在 onMapReady
方法中使用 this.googleMap = googleMap
,但每当我尝试引用 googleMap
时,我仍然会遇到空指针异常多变的。我在 onCreated() 中定义了 getMapAsync(this),然后尝试在 onResume() 中访问“googleMap”对象并获取空指针异常。有没有办法来解决这个问题?谢谢。