Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用列表适配器使用歌曲标题、艺术家、持续时间和数据填充列表视图_Android - Fatal编程技术网

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...
}