MultiSelectListPreference dla Android w wersji API wcześniejszej niż 11

MultiSelectListPreference to ustawienie dodane w wersji API 11. Pozwala na zapis i odczyt wielu możliwych opcji np. chcemy wybrać w które dni tygodnia nasza aplikacja ma być aktywna. W poprzednich wersjach API nie ma możliwości zapisu i odczytu tablic danych. Poniżej rozwiązanie które to zapewnia.

Oto jak prezentuje się ten widget:

Wystarczy dodać poniższą klasę do projektu:

i dodać konfigurację pola w standardowy sposób (z wykorzystaniem tablic danych):

a oto przykładowe dane:

Gotowe. Zmiany w polu zapisują się oczywiście automatycznie. Jeżeli chcemy obsłużyć dodatkowo event zmiany danych, mamy do dyspozycji prosty interfejs z listą aktualnie zaznaczonych pozycji np.:

 

Adres do GIST: https://gist.github.com/cardil/4754571