2016-03-21 31 views
2

Bir Çalma Listesi'nde aynı audioID ile 2 Şarkım olduğunda ve 'u yalnızca bu 2 şarkıda silmek istiyorum, bu koda neleri değiştirmeliyim? Bu, parametrelerden verilen audioID ile TÜM Şarkıları sildiğinden, çünkü bu, tüm Şarkıları siler.MediaStore: Oynatma listesindeki tüm şarkıları siler

Kaç tane şarkının silinip silinmediğini kontrol ettim ve 1'den büyükse tekrar ekledim. Fakat bu, çalma listesinin sırasını bozardı ve bence çok etkili değil.

Uri uri = ... 
String where = "song_id=? LIMIT 1"; 
String[] args = new String{song_id}; 

cevap

2

delete(Uri url, String where, String[] selectionArgs) şimdi resolver(uri, where, args);

+1

sadece 2 çiftleri varsa yukarıdaki çalışıyor. Ya 3 ya da daha fazla varsa? Bu sorunu lastIndexOf() işlevini kullanarak çözdüm. Tüm audio_ids dizisini oluşturuyorum, çevrelerinizde dolaşmaya başla ve lastIndexOf (audio_id) için test et. Sonuç daha büyükse o zaman bir kopyası olur. Bu konumda audio_id'i çıkarın ve tekrar test edin. Şimdi lastIndexOf (audio_id) == konumunda ise başka çoğaltmamız olmaz, böylece devam ederiz. – Theo