java.lang.NullPointerException: MapFragment.getMapAsync (com.google.android.gms.maps.OnMapReadyCallback) - PullRequest
0 голосов
/ 27 декабря 2018

Я работаю над геозоной и пытаюсь инициализировать карту, но получаю эту ошибку:

java.lang.NullPointerException: попытка вызвать виртуальный метод void com.google.android.gms.maps.MapFragment.getMapAsync (com.google.android.gms.maps.OnMapReadyCallback) 'для ссылки на нулевой объект

Я также попробовал все решения, которые я нашел в stackoverflow, но не смог найтирешение моей проблемы.

 private void initGMaps(){
    mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}



 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textLat = (TextView) findViewById(R.id.lat);
        textLong = (TextView) findViewById(R.id.lon);

        // initialize GoogleMaps

        initGMaps();

        // create GoogleApiClient
        createGoogleApi();
    }

<!--GoogleMap fragment-->
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.utkukayman.locationbasedreminderbyutku, PID: 22875 java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.utkukayman.locationbasedreminderbyutku / com.utkukayman.locationbasedreminderbyutku.MapsActivity}: java.lang.NullPointerException: попытка вызвать виртуальный метод void com.google.android.gms.maps.MapFragment.getMapAsynroid.gms.ma..OnMapReadyCallback) 'для пустой ссылки на объект в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2665) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2726) в android.app.ActivityThread.-wrap12 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1477) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:154) на android.app.ActivityThread.main (ActivityThread.java:6119) на java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) Причина: java.lang.NullPointerException: попытка вызвать виртуальный метод void com.google.android.gms.maps.MapFragment.getMapAsync (com.google.android.gms.maps.OnMapReadyCallback) 'для ссылки на нулевой объект вcom.utkukayman.locationbasedreminderbyutku.MapsActivity.initGMaps (MapsActivity.java:188) на com.utkukayman.locationbasedreminderbyutku.MapsActivity.onCreate (MapsActivity.java:82) в android.app.Activity.performCreate (Activity.java:6679) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1118) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2618) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java): 2726) в android.app.ActivityThread.-wrap12 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1477) в android.os.Handler.dispatchMessage (Handler.java:102) вandroid.os.Looper.loop (Looper.java:154) в android.app.ActivityThread.main (ActivityThread.java:6119) в java.lang.reflect.Method.invoke (родной метод) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) Приложение завершено.

Кто-нибудь может мне помочь?Спасибо за ответы

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Прошу прощения за то, что это все из-за моей глупой ошибки.

super.onCreate (saveInstanceState);setContentView (R.layout.activity_main);-----> это должно быть Activity_maps

0 голосов
/ 27 декабря 2018

Вы накачиваете SupportMapFragment, а не MapFragment.

Используйте getSupportFragmentManager() внутри упражнения и разыгрываете findFragment() результат до SupportMapFragment.

Ваша активность должнарасширить AppCompatActivity или FragmentActivity в зависимости от вашего варианта использования.

...