我在我的應用程序中顯示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 –