Używam aplikacji Google Map Android API v2 do mojej aplikacji na Androida. Nie mam zainicjować GoogleMap następująco wewnątrz onCreateUzyskiwanie dostępu do GoogleMap spoza wątku interfejsu użytkownika w Androidzie
SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
mGoogleMap = fm.getMap();
W mojej aplikacji, muszę wykonać kilka zadań w tle i używam AsybcTask za to. Podczas postępu w pracy w tle chcę zaktualizować mapę. Proszę zapoznać się z poniższą próbką.
@Override
protected Void doInBackground(Void...voids) {
while(Condition)
{
mGoogleMap.clear();
mGoogleMap.addMarker(marker);
Thread.sleep(5000);
}
}
Wiem, że nie mogę bezpośrednio uzyskać dostępu do komponentów interfejsu w metodzie doInBackground. Do popularnych składników interfejsu użytkownika, takich jak przyciski, editeksty, widoki tekstowe, można uzyskać dostęp, analizując kontekst aplikacji do klasy AsyncTask. Ale nie mogę znaleźć sposobu na uzyskanie dostępu do GoogleMap z metody doInBackground. Czy możesz podać mi rozwiązanie.
Dzięki. Działa jak marzenie. – ANJ
Lepiej dodać Thread.sleep (5000) poza runOnUiThread (...) – ANJ