我在我的应用程序中显示Google Map的活动,还有一些其他功能可以选择位置。该活动被命名为MapActivity
,它扩展为FragmentActivity
。MapFragment中的NullPointerException;谷歌地图在FragmentActivity
public class MapActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
initializeMap();
}
private void initializeMap() {
if (googleMap == null) {
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
if(mapFragment!=null){
mapFragment.getMapAsync(MapActivity.this);
}
// check if map is created successfully or not
if (null== googleMap) {
Toast.makeText(getApplicationContext(), "Sorry! unable to create maps", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onMapReady(GoogleMap map) {
googleMap = map;
googleMap.setMyLocationEnabled(true);
}
}
但是,当此活动启动时,应用程序崩溃,因为它在initializeMap方法中的mapFragment对象返回null。此错误已出现,因为getMap()
已被弃用,并且将使用getMapAsync()
方法,但我自己的mapFragment
对象是null
。
如何膨胀地图片段以避免此NullPointerException?
https://developers.google.com/maps/documentation/android-api/start –