我是Android新手编程的新手。我有main_activity和list_adapter。我无法通过适配器将uri专辑封面发送给Picasso。而且我不明白 - 如何获得专辑封面?
代码main_activity
if (cursor.moveToFirst()) {
do {
Song song = new Song();
String data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
String[] res = data.split("\\.");
song.setSongName(res[0]);
//Log.d("test",res[0] );
song.setSongFullPath(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA)));
song.setSongId(cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media._ID)));
song.setSongFullPath(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA)));
song.setSongAlbumName(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST)));
song.setSongUri(ContentUris.withAppendedId(
android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media._ID))));
String duration = getDuration(Integer.parseInt(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION))));
song.setSongDuration(duration);
songList.add(song);
} while (cursor.moveToNext());
return songList;
}
cursor.close();
代码list_adapter
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
//Layout inflate for list item
convertView = LayoutInflater.from(mContext).inflate(R.layout.song_list_item, null);
}
ImageView mImgSong = (ImageView) convertView.findViewById(R.id.img_listitem_file);
Picasso.with(mContext).load(Uri.parse("file://"+songList.get(position).getSongFullPath())).placeholder(R.drawable.no_clipart).into(mImgSong);
TextView mtxtSongName = (TextView) convertView.findViewById(R.id.txt_listitem_filename);
TextView mTxtSongAlbumName = (TextView) convertView.findViewById(R.id.txt_listitem_albumname);
TextView mTxtSongDuration = (TextView) convertView.findViewById(R.id.txt_listitem_duration);
// mImgSong.setImageResource(R.drawable.no_clipart);
mtxtSongName.setText(songList.get(position).getSongName());
mTxtSongAlbumName.setText(songList.get(position).getSongAlbumName());
mTxtSongDuration.setText(songList.get(position).getSongDuration());
return convertView;
}