Android 如何使用列表适配器使用歌曲标题、艺术家、持续时间和数据填充列表视图
我正在做一个简单的音乐播放器 此方法以字符串数组形式返回设备上所有歌曲的标题Android 如何使用列表适配器使用歌曲标题、艺术家、持续时间和数据填充列表视图,android,Android,我正在做一个简单的音乐播放器 此方法以字符串数组形式返回设备上所有歌曲的标题 private String[] getMusic() { String[] projection = { MediaStore.Audio.Media.TITLE, }; final Cursor mCursor = getContentResolver().query( MediaStore.Audi
private String[] getMusic() {
String[] projection = {
MediaStore.Audio.Media.TITLE,
};
final Cursor mCursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection, null, null,
"LOWER(" + MediaStore.Audio.Media.TITLE + ") ASC");
int count = mCursor.getCount();
String[] songs = new String[count];
int i = 0;
if (mCursor.moveToFirst()) {
do {
songs[i] = mCursor.getString(0);
i++;
} while (mCursor.moveToNext());
}
mCursor.close();
return songs;
}
字符串数组被传递给adapater,adapater填充列表视图
mMusicList = getMusic();
ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mMusicList);
mListView.setAdapter(mAdapter);
剩下的我想不出来了。可能歌曲数组在传递到适配器之前是多维的,例如
songs = {
{title1, data1, duration1},
{title2, data2, duration2},
etc...
}
您应该创建一个自定义适配器,并将您的数据传递给它,这些数据将显示在您还应该创建的自定义布局中。这本书有很多例子
songs = {
{title1, data1, duration1},
{title2, data2, duration2},
etc...
}