У меня проблема, вызванная NullPointerException. Приложение начинает сбой сегодня, когда я пытаюсь выполнить mMapView.onCreate(savedInstanceState);, но вчера все было в порядке. Я просто меняю свой файл макета на другой (похожий) с другим именем. Здесь исключение:
E/AndroidRuntime: FATAL EXCEPTION: главная Процесс: com.parking.android, PID: 17585 java.lang.NullPointerException: попытка получить длину нулевого массива на maps.G.a.a(Неизвестный источник) на картах.В .N.a(Неизвестный источник) на maps.D.e.a(Неизвестный источник) на maps.D.p.a(Неизвестный источник) на maps.ad.ae.a(Неизвестный источник) на maps.ad.t.a(Неизвестный источник) на maps.ad.R.a(Неизвестный источник) в uo.onTransact(: com.google.android.gms.DynamiteModulesB: 66) на android.os.Binder.transact(Binder.java:385) в com.google.android.gms.maps.internal.IMapViewDelegate $ZZA $zza.onCreate(Неизвестно Источник) на com.google.android.gms.maps.MapView $zza.onCreate(Неизвестный источник) at com.google.android.gms.dynamic.zza $3.zzb(Неизвестный источник) at com.google.android.gms.dynamic.zza $1.zza(Неизвестный источник) на com.google.android.gms.maps.MapView $zzb.zzbow(Неизвестный источник) at com.google.android.gms.maps.MapView $zzb.zza(Неизвестный источник) at com.google.android.gms.dynamic.zza.zza(Неизвестный источник) at com.google.android.gms.dynamic.zza.onCreate(Неизвестный источник) at com.google.android.gms.maps.MapView.onCreate(Неизвестный источник) в com.parking.android.map.fragment.MapsFragment.initMap(MapsFragment.java:105) в com.parking.android.map.fragment.MapsFragment.onCreateView(MapsFragment.java:92) в com.parking.android.base_arch.fragment.BaseFragment.onCreateView(BaseFragment.java:48) в android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) в android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) в android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) в android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) в android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) в android.support.v4.app.FragmentManagerImpl $1.run(FragmentManager.java:517) на android.os.Handler.handleCallback(Handler.java:815) на android.os.Handler.dispatchMessage(Handler.java:104) на android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.Java: 5550) в java.lang.reflect.Method.invoke(собственный метод) в java.lang.reflect.Method.invoke(Method.java:372) в com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:955) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:750)
И вот мой код с mapView:
@Override
protected void onCreateView(Bundle savedInstanceState) {
super.onCreateView(savedInstanceState);
initMap(savedInstanceState);
}
private void initMap(Bundle savedInstanceState) {
mMapView.onCreate(savedInstanceState);
mMapView.onResume();
try {
MapsInitializer.initialize(getActContext());
} catch (Exception e) {
e.printStackTrace();
}
mMapView.getExtendedMapAsync(this);
locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);
try {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 400, 1000, this);
} catch (SecurityException e) {
Log.e(TAG, "onLocationChanged: ", e);
}
}
@Override
public void onPause() {
mMapView.onPause();
super.onPause();
}
@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
public void onDestroy() {
mMapView.onDestroy();
super.onDestroy();
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
presenter.getParkings();
mMap.setOnMarkerClickListener(this);
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(false);
}
@Override
public void onLocationChanged(Location location) {
if (mMap == null)
return;
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 14);
mMap.animateCamera(cameraUpdate);
try {
locationManager.removeUpdates(this);
} catch (SecurityException e) {
Log.e(TAG, "onLocationChanged: ", e);
}
}