Google Maps Android API NullPointerException

1

good afternoon. The problem is that when I run the application in which I have a MapFragment, if I do not write code, it works perfectly but if I write the code to have a reference to a GoogleMap, I get an error "NullPointerException", I do not know what it could be, some idea ?

Here I leave the summary code, with the important parts, the failure it gives me when it is in the line of getMapAsync (this);

public class EventCardViewActivity extends AppCompatActivity implements OnMapReadyCallback{

private GoogleMap googleMap;

MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.mapFragment);

    mapFragment.getMapAsync(this);


@Override
public void onMapReady(GoogleMap map){
    googleMap = map;
}

Here is the exact fault:

08-09 14:51:22.754 8627-8627/eventoslpa.com.eventoslpa_final E/AndroidRuntime: FATAL EXCEPTION: main
                                                                           Process: eventoslpa.com.eventoslpa_final, PID: 8627
                                                                           java.lang.RuntimeException: Unable to start activity ComponentInfo{eventoslpa.com.eventoslpa_final/eventoslpa.com.eventoslpa_final.activity.EventCardViewActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' on a null object reference
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2750)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2811)
                                                                               at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                               at android.os.Looper.loop(Looper.java:154)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:6316)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
                                                                            Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' on a null object reference
                                                                               at eventoslpa.com.eventoslpa_final.activity.EventCardViewActivity.onCreate(EventCardViewActivity.java:85)
                                                                               at android.app.Activity.performCreate(Activity.java:6757)
                                                                               at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2703)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2811) 
                                                                               at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528) 
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                               at android.os.Looper.loop(Looper.java:154) 
                                                                               at android.app.ActivityThread.main(ActivityThread.java:6316) 
                                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872) 
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762) 
    
asked by Juanma Perez 09.08.2017 в 16:00
source

1 answer

1

I can not comment yet (you have to keep in mind that

MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment);

must be referenced after setContentView in onCreate , or if it is from a fragment after having inflated the view.

Check in the layout that the name of MapFragment is the same mapFragment and also verfica that this MapFragment no SupportMapFragment

is defined     
answered by 09.08.2017 / 16:18
source