Как отобразить данные, хранящиеся в sharedPrefernces, пользователю в ListView?

#android

#Android

Вопрос:

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

Комментарии:

1. Вы имеете в виду другое действие в вашем приложении или действие другого приложения?

2. Еще одно действие в моем приложении

Ответ №1:

Если вы хотите отобразить все сохраненные данные в listview или recycler, прежде всего, вы должны получить все данные и сохранить их в списке.

 ArrayList<String> strings = new ArrayList<String>();
for(Map.Entry<String,?> entry : keys.entrySet()){
if (entry.getValue() instanceof String) {
    strings.add((String) entry.getValue());
}
}
arrayToStoreStrings = strings.toArray(new String[strings.size()]);
  

теперь вы можете передавать строки адаптеру.
если вы хотите использовать listview вместо recycler view, проверьте эту ссылку.
ListView

Комментарии:

1. пожалуйста, не могли бы вы объяснить мне, что происходит в коде!!

Ответ №2:

Sharedprefernces доступны во всех ваших действиях. Вам нужно только вызвать getDefaultSharedPreferences из PreferenceManager:

  val listOfPreferences:MutableList<Pair<String,String>> = mutableListOf()
 val preferences=PreferenceManager.getDefaultSharedPreferences(applicationContext)
 val preferenceKeys=preferences.all
 preferenceKeys.forEach(){
            entry -> listOfPreferences.add(Pair(entry.key,entry.value.toString()))
            }

        // do whatever you want with key-value pair list