如何在android studio中从用户输入的SharedReferences中删除某些字符串

9o685dep  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(233)

我使用android studio创建了一个音乐应用程序,我是一个新手程序员。我已经创建了一个SharedReferences来存储用户“喜爱的播放列表”的歌曲,并存储数据,但是当我尝试使用“notifydatasetchanged”告诉观察者用户想要删除歌曲时,它不会更改SharedReferences。因此,当重新打开应用程序时,歌曲不会从播放列表中删除,而是显示在xml文件夹中。
这是将歌曲添加到SharedReferences的功能:

public void addToFavourite(View view) {
    String songId = view.getContentDescription().toString();
    Song song = SongCollection.songSearchById(songId);
    favourite.add(song);
    Gson gson = new Gson();
    String json = gson.toJson(favourite);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("list", json);
    editor.apply();
    Toast.makeText(this,"Song added", Toast.LENGTH_SHORT).show();
}

这是一个功能,单击“删除”按钮即可删除歌曲:

holder.removebtn.setOnClickListener (new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            HomePage.favourite.remove(position);
            notifyDataSetChanged();
        }
    });
vkc1a9a2

vkc1a9a21#

我发现我实际上并没有更改共享首选项文件,我所需要做的只是创建另一个编辑器。

相关问题