【发布时间】:2017-08-17 19:14:22
【问题描述】:
这是我获得共享偏好的代码
private void getAllSharePreference() {
SharedPreferences sharedPreferences = getContext().getSharedPreferences(SharePreferenceKey.SONG_LIST, Context.MODE_PRIVATE);
getSongJson = sharedPreferences.getString(SharePreferenceKey.SONG_LIST, "N/A");
if (!getSongJson.equals("N/A")) {
Type type = new TypeToken<List<SongRespones.Songs>>() {}.getType();
songSharePreference = new Gson().fromJson(getSongJson, type);
adapter.addMoreItem(songSharePreference);
rvFavorite.setAdapter(adapter);
}
}
这是我想按位置 recyclerview 清除共享偏好列表的代码。
@Override
public void onClickView(final int position, View view) {
final PopupMenu popupMenu = new PopupMenu(getContext(), view);
popupMenu.inflate(R.menu.remove_favorite);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.popup_remove_favorite:
songSharePreference.remove(position);
adapter.notifyItemChanged(position);
break;
}
return false;
}
});
popupMenu.show();
}
但我无法清除共享偏好。 请帮帮我:
【问题讨论】:
-
您是要清除共享首选项还是要从数据集中删除某个位置的项目?你的问题不清楚
-
我想清除两者。
-
清除共享偏好后,我的数据集也清除了。那该怎么办?
-
但是你在哪里这样做呢?我只看到 - songSharePreference.remove(position) 请发布您的代码以及您为实现此目标所做的尝试以及您遇到的错误是什么!
-
不知道怎么清除,贴出来问问大家。
标签: android android-sharedpreferences