/ / android asynctask skutkuje inną aktywnością - android, android-activity, android-asynctask

Android asynctask powoduje kolejną aktywność - android, android-activity, android-asynctask

mam Działanie A oraz AsyncTask, który wykonuje niektóre obliczeniai przechowuje dane w bazie danych. Operacje te trwają około 3-5 sekund. Zadanie AsyncTask jest wywoływane po naciśnięciu przycisku „Zapisz” i rozpoczyna się nowe działanie B (to działanie B nie jest ważne). Jest również Działanie C, który ładuje dane, które zapisałem z działania A.i AsyncTask. A oto mój problem - jeśli rozpocznę działanie C, a AsyncTask nadal nie zakończy przechowywania danych, chcę wyświetlać animację ładowania, dopóki AsyncTask nie zakończy się i dane mogą zostać załadowane w działaniu.

Mam wizję metody AsyncTaskonPostExecute zmieni zmienną globalną „boolean gotowa = prawda”, a po rozpoczęciu działania C okresowo sprawdzę, czy zmienna jest prawdziwa. Ale myślę, że to nie jest właściwa droga. Więc jaka jest właściwa droga? Dziękuję Ci

Odpowiedzi:

0 dla odpowiedzi № 1

To, co możesz zrobić w ćwiczeniu C, to sprawdzenie bazy danych w onResume czy oczekiwany wynik już istnieje, czynie. Jeśli tak, po prostu pokaż swój wynik. Jeśli nie, pokaż ikonę ładowania i zarejestruj odbiornik, który nasłuchuje na określone zdarzenie.

W onPostExecute z AsyncTask możesz nadawać to konkretne wydarzenie. Gdy działanie C odbierze to zdarzenie, może po prostu ponownie sprawdzić bazę danych, w której będzie teraz wynik.