通过在播放列表中拖放来重新排序recyclerview项目

时间:2018-01-09 10:19:10

标签: android drag-and-drop playlist mediastore android-music-player

我正在开发一款适用于Android的音乐播放器。我介绍了播放列表功能,用户可以在其中创建播放列表并将歌曲添加到播放列表。因此,在播放列表中,我实现了拖放功能(通过在列表中拖动它们将歌曲从一个位置移动到另一个位置)。此功能正常。但是我面临的问题是在拖放之后,我无法更新播放列表数据库(mediastore)。

编辑:我注意到其他音乐播放器显示更新的播放列表,但我的应用不会更新播放列表。

我正在使用的代码:

  public static void trackMoved(int fromPosition, int toPosition) {



   Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external",
            pID)
            .buildUpon()
            .appendEncodedPath(String.valueOf(fromPosition))
            .appendQueryParameter("move", "true")
            .build();
    ContentValues values = new ContentValues();

    values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, toPosition);
    cr.update(uri, values, null, null) ;



}

我发现解决方案实际上我必须根据播放顺序排序-_-。

0 个答案:

没有答案