Google지도를 보여주는 내 앱에 활동이 있으며 위치를 선택하는 다른 기능이 있습니다. 이 액티비티는 MapActivity
으로 이름 지어지고 FragmentActivity
까지 확장됩니다.MapFragment의 NullPointerException; FragmentActivity의 GoogleMap
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 –