Dziwne zachowanie po naciśnięciu przycisku Back

Dziwne zachowanie po naciśnięciu przycisku Back
RezyserKinaAkcji
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 163
0

Cześć. Mam taki problem. W moim programie mam zdefiniowane SharedPreferences, którego używam do zapisywania ArrayList<User> w programie, lista ta jest podstawą do działania całego programu., poniewaz User posiada w sobie różne inne listy, np listę wydatków.

W MainPanelActivity dodaje wydatek do listy wydatków, która posiada User, a następnie cała listę userów zapisuję w SharedPreferences. Wszystko działa elegancko. Problem pojawia się wtedy, kiedy naciskam przycisk Back

title

Jak widać w metodach onBackPressed, onPause i onDestroy zapisuję listę, której wielkość wynosi 4. Natomiast kiedy wracam do Activity, metoda loadData() - która wywołuje się jako pierwsza w onCreate() wczytuje z SharedPreferences listę o wielkości 3.

title

SharedPreferences działa fajnie, po wyłączeniu aplikacji bądź ponownej kompilacji zachowują się wszystkie wydatki, jednak kiedy naciskam przycisk Back i wracam z powrotem do Activity, coś jest nie halo. Czy ktoś ma jakiś pomysł gdzie jest błąd ?

title

title

RezyserKinaAkcji
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 163
0

Problem rozwiązany, chociaż pewnie w najbardziej nieeleganckim możliwym stylu. Dodałem do metody onBackPressed

Kopiuj
Intent intent = new Intent(MainPanelActivity.this, LoginActiity.class);
startActivity(intent);

W ten sposób, jakimś dziwnym cudem wszystko się ładnie zapisuje. Ale rozwiązanie tragiczne.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.