Dziwne zachowanie po naciśnięciu przycisku Back

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

0

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1