2012-02-17 3 views
0

У меня есть флажки в моем пользовательском listview, я использую логический массив, чтобы сохранить состояние этих флажков. Я хочу, чтобы состояние флагов сохранялось на протяжении всего срока действия приложения. Я знаю, что это может быть достигнуто с помощью sharedpreferences, но я точно не знаю, как это можно сделать.Как сохранить состояние флажков в пользовательском listview с помощью sharedpreferences?

ответ

0

Я знаю, что это может быть достигнуто посредством sharedpreferences, но я точно не знаю, как это можно сделать.

В sharedpreferences нет возможности вставлять сериализуемые объекты. Из-за этого вам придется преобразовать булевой массив в один из поддерживаемых типов. Только один я могу видеть, что делает смысл должен был бы преобразовать состояние массива в строку, как:

"0|1|0|1|1" 

Затем надавите, что в общих настройках. Для этого вы можете использовать Arrays.toString(boolean []). Вам, однако, придется написать метод анализа для извлечения значения из SharedPreferences. Вероятно, это самый простой вариант для этого.

+0

Можете ли вы вести меня через весь процесс? У меня никогда не было опыта работы с sharedprefrences. – Dinesh

+0

В Google есть примеры. Единственная уникальная вещь в вашей ситуации - это вставить массив значений. –

+0

Да, я получаю это, но читаю где-то в переполнении стека, что каждое состояние флажка может быть сохранено индивидуально с помощью метода putBoolean sharedpreferences и позже извлечено. Что вы думаете об этой идее? – Dinesh

Смежные вопросы