Przy przerabianiu kursu androida z Google Udacity Scholarship uznałam, że warto od razu wprowadzać to czego się nauczyłam do apki. W związku z tym postanowiłam przerobić sposób w jaki obsługuję ustawienia użytkownika, tak żeby było bardziej pro 😉
Przede wszystkim wprowadziłam więcej listenerów (jakiekolwiek 😉 ) i to sprawiło, że przestałam się troszczyć o sprawdzenie, czy coś się zmienia czy nie. Od tego mam odpowiednie metody.
Pozostawiłam na razie statyczne zmienne przechowujące wartości ustawień. Jakby się coś zmieniło wtedy od nowa przeładowujemy aplikację.
W metodzie onCreate wywołuję metodę pobierającą aktualne wartości ustawień i rejestruję listener:
Jeszcze pamiętam o tym, żeby zarejstrowany listener odpiąć w odpowiednim momencie 😉
Wyjęłam też fragment z SettingsActivity i jemu też dostały się listenery, tak aż dwa 😉
Pierwszy czuwa nad tym, żeby przy zmianie wartości odświeżyć też podpis pod ustawieniem żeby nie trzeba było w nie klikać.
Drugiego listenera użyłam do stworzenia walidacji na długość planu, żeby użytkownicy mogli wstawić tylko wartości z przedziału 1-30.
Wygląda tak, jak poprzednio, a nawet lepiej, więc nie zepsułam 😉
W planach mam jeszcze przerobienie list na RecyclerView, ale jeszcze trzeba będzie przerobić bazę danych 😉