0
此代碼獲取所有歌曲的專輯,但如果某個專輯中有5首歌曲,專輯名稱會同時出現5次。如何避免這種情況?Android音樂播放器:專輯名稱重複
public class AlbumListFragment extends Fragment {
private ListView lv;
public AlbumListFragment() {}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.list_view_album, container, false);
final ArrayList<String> arr=new ArrayList<>();
lv=(ListView)v.findViewById(R.id.lvalbum);
String[] proj={MediaStore.Audio.Media._ID, MediaStore.Audio.Media.ALBUM};
final Cursor c=getActivity().getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, null, null);
if(c!=null) {
if(c.moveToFirst()) {
do{
int index=c.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM);
arr.add(c.getString(index));
}while(c.moveToNext());
}
} c.close();
ArrayAdapter<String> adapter=new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, arr);
lv.setAdapter(adapter);
return v;
}
}
這麼容易,但很難找到。有關參考請參閱[MediaStore.Audio.Albums](http://developer.android.com/reference/android/provider/MediaStore.Audio.Albums.html) –