Ich habe eine GPS-App, die gut funktioniert auf meinem Handy. Ich sehe jedoch, dass es Leute gab, die eine Nullzeiger-Ausnahme in der Produktion hatten.Android kann keine Symbolmethode finden getMap()
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
// Getting GoogleMap object from the fragment
googleMap = fm.getMap();
// Enabling MyLocation Layer of Google Map
googleMap.setMyLocationEnabled(true);
googleMap.setPadding(0, 0, 0, 90);
Der Fehler Ich bin von der Produktion immer ist Verursacht durch:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setMyLocationEnabled(boolean)' on a null object reference
So habe ich einige der Forschung und finden Sie heraus, dass getMap Methode wurde entfernt, und die Menschen empfehlen getMapAsync(this);
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap; //which doesn't seem to work
}
Allerdings referenziere ich die Variable in vielen verschiedenen Methoden, und ich kann nicht den gesamten Code aufverschiebenMethode. Ich habe versucht, this.googleMap = googleMap
innerhalb der onMapReady
-Methode zu verwenden, aber ich bekomme immer noch Nullzeigerausnahmen, wenn ich versuche, die Variable zu referenzieren. Ich habe getMapAsync (this) in onCreated() definiert und dann versucht, auf das googleMap-Objekt in onResume() zuzugreifen und die Nullzeiger-Ausnahme zu erhalten. Gibt es eine Möglichkeit, das zu beheben? Vielen Dank.
Können Sie die Layout-Datei zeigen? –