Требуется сохранить этот пользовательский текст списка, используя общие настройки по клику пользователя. - PullRequest
0 голосов
/ 17 октября 2018

Я хочу сохранить этот пользовательский текст списка, используя общие настройки, когда пользователь нажимает на это изображение звезды (PS - я не хочу использовать базу данных для этого), а также хочу получить этот текст (весь выбранный текст какArrayList) в другой деятельности.Теперь я могу сохранить этот текст в виде ArrayList в своем общем предпочтении. Но внутри моего метода getView () пользовательского адаптера мой ArrayList снова и снова инициализируется, может ли кто-нибудь мне помочь. Как этот демонстрационный пример

, когда пользовательнажмет на это звездное изображение when user will click on this star image

и в избранном занятии получит ArrayList из общего предпочтения and in favorite activity will retrieve ArrayList from shared preference

1 Ответ

0 голосов
/ 17 октября 2018

Вы должны написать свой arraylist как json в Sharedpreference

public void saveArrayList(ArrayList<String> list, String key){
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
            SharedPreferences.Editor editor = prefs.edit();
            Gson gson = new Gson();
            String json = gson.toJson(list);
            editor.putString(key, json);
            editor.apply();
        }

        public ArrayList<String> getArrayList(String key){
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
            Gson gson = new Gson();
            String json = prefs.getString(key, null);
            Type type = new TypeToken<ArrayList<String>>() {}.getType();
            return gson.fromJson(json, type);
        }

https://freakycoder.com/android-notes-40-how-to-save-and-get-arraylist-into-sharedpreference-7d1f044bc79a

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...