В классе UtilUser я создал метод, чтобы возвращать список id's излюбленных объявлений.
public static Set<String> getFavs(Context mContext) {
setSharedPreferences(mContext);
Set<String> favs = new HashSet<>();
favs = sharedPreferences
.getStringSet("favs", null);
return favs;
}
И назвав это в adapter того, чтобы заносить в список объявления, я хочу показать кнопку добавления / снимать фаворитов, если id баннера находится в списке, который он возвращает нам getFavs (Context mcontext), посредством следующего if
if(UtilUser.getFavs(this.contexto).contains(this.mValues.get(position).getId())){
Log.d("d", "es favorito");
}
Проблема, - в котором getFavs всегда он возвращает default, оцените (null)
Он возвращает тебя недействительно, из-за которого в момент создания sharedPreferences
ты должен устанавливать стоимость из-за default
, что тот же самый будет возвращен в случае, если предпочтение будет находиться vacГ - в, должен иметь в виду tambiГ©n, что ты должен setear стоимость в algГєn место перед тем, как использовать mГ©todo getPreferences
, я это комментирую, из-за которого я не вижу в ningГєn момент, что estГ©s seteando стоимость в key "favs". Тогда, что ты должен делать сначала:
SharedPreferences sharedPref = context.getSharedPreferences("PREFERENCES", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref .edit();
editor.putString(key, save);
editor.apply();
, Где он говорит context
, aplicarГ-схвати контекст активности, fragment, и т.д. В линии editor.putString(key, save)
, ты вводишь key
, в твоем случае "favs" и save
, он был бы String
, которые ты хочешь сохранять, уже сохраняясь под этой key
в момент, в котором ты используешь mГ©todo get preference, podrГЎs получать стоимость, где ты желал.