私の Music-Player では、プレイリストに 2 つの同一の曲が含まれている場合があります (ユーザーは同じ曲を 2 回追加します)。プレイリストに 2 回ある曲の ID が 7664 だとします。この曲をプレイリストからContentResolver.delete(URI_OF_PLAYLIST, "audio_id=7664", null);
削除すると、両方の一致が削除されます。では、1 つの一致のみを削除するにはどうすればよいでしょうか。
前もって感謝します!
私の Music-Player では、プレイリストに 2 つの同一の曲が含まれている場合があります (ユーザーは同じ曲を 2 回追加します)。プレイリストに 2 回ある曲の ID が 7664 だとします。この曲をプレイリストからContentResolver.delete(URI_OF_PLAYLIST, "audio_id=7664", null);
削除すると、両方の一致が削除されます。では、1 つの一致のみを削除するにはどうすればよいでしょうか。
前もって感謝します!
プレイリストを並べ替えるには:
public void renumber_playorder(Context context, long playlist_id) {
Cursor cursor = getPlaylistTracks(context, playlist_id);
Uri newuri = MediaStore.Audio.Playlists.Members.getContentUri(
"external", playlist_id);
ContentResolver resolver = context.getContentResolver();
ContentValues values = new ContentValues();
int i = 0;
if (cursor != null && cursor.moveToFirst()) {
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
String _id = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Playlists.Members._ID));
String[] selection = {_id};
values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, i);
resolver.update(newuri, values, MediaStore.Audio.Playlists.Members._ID + " =? ", selection);
i++;
}
cursor.close();
}
}