Ho un app GPS che funziona bene sul mio telefono. Tuttavia, vedo che c'erano persone con un'eccezione di puntatore nullo nella produzione.Android non riesce a trovare il metodo simbolo 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);
L'errore che sto ottenendo dalla produzione è Causato da:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setMyLocationEnabled(boolean)' on a null object reference
così ho fatto qualche ricerca e scoprire che il metodo getMap è stata rimossa e la gente consiglia di utilizzare getMapAsync(this);
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap; //which doesn't seem to work
}
Tuttavia, sono riferimento la variabile googleMap
in molti metodi differenti, e non posso spostare tutto il codice perMetodo. Ho provato ad utilizzare this.googleMap = googleMap
all'interno del metodo onMapReady
, ma sto ancora ricevendo eccezioni puntatore nullo ogni volta che provo a fare riferimento alla variabile googleMap
. Ho definito getMapAsync (this) in onCreated(), quindi provo ad accedere all'oggetto 'googleMap' in onResume() e ad ottenere l'eccezione puntatore nullo. C'è un modo per risolvere questo problema? Grazie.
si può mostrare il file di layout? –