使用 Listview 将专辑封面加载到 Glide 中
Load album art into Glide using Listview
加载专辑封面的代码
if(cursor != null && cursor.moveToFirst()){
int titleColumn = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
int idColumn = cursor.getColumnIndex(MediaStore.Audio.Media._ID);
int artistColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
int albumColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM);
long albumID = cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ID);
do {
long thisID = cursor.getLong(idColumn);
String thisTitle = cursor.getString(titleColumn);
String thisArtist = cursor.getString(artistColumn);
String thisAlbum = cursor.getString(albumColumn);
Glide.with(this)
.load(albumID)
.asBitmap()
.into() //How do I return a value?
medialist.add(new SongInfo(thisID, thisTitle, thisArtist, thisAlbum, //Bitmap variable));
}
while (cursor.moveToNext());
我正在尝试使用 Glide 将专辑封面加载到列表视图中。但是,我遇到了麻烦;
medialist.add(new SongInfo(..);
你做错了:
使用这个:
medialist.add(new SongInfo(thisID, thisTitle, thisArtist, thisAlbum,albumID));
现在,在您的列表视图适配器 class 中,获取 medialist 并在 glide 方法中:
定义:
Context con;
现在在适配器的构造函数中:
public CustomAdapter(List<Medialist> items, Context context) {
medialist= items;
this.con = context;
}
Glide.with(con)
.load(medialist.getAlbumID)
.asBitmap()
.into(imageview)
加载专辑封面的代码
if(cursor != null && cursor.moveToFirst()){ int titleColumn = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE); int idColumn = cursor.getColumnIndex(MediaStore.Audio.Media._ID); int artistColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST); int albumColumn = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM); long albumID = cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ID); do { long thisID = cursor.getLong(idColumn); String thisTitle = cursor.getString(titleColumn); String thisArtist = cursor.getString(artistColumn); String thisAlbum = cursor.getString(albumColumn); Glide.with(this) .load(albumID) .asBitmap() .into() //How do I return a value? medialist.add(new SongInfo(thisID, thisTitle, thisArtist, thisAlbum, //Bitmap variable)); } while (cursor.moveToNext());
我正在尝试使用 Glide 将专辑封面加载到列表视图中。但是,我遇到了麻烦;
medialist.add(new SongInfo(..);
你做错了: 使用这个:
medialist.add(new SongInfo(thisID, thisTitle, thisArtist, thisAlbum,albumID));
现在,在您的列表视图适配器 class 中,获取 medialist 并在 glide 方法中: 定义:
Context con;
现在在适配器的构造函数中:
public CustomAdapter(List<Medialist> items, Context context) {
medialist= items;
this.con = context;
}
Glide.with(con)
.load(medialist.getAlbumID)
.asBitmap()
.into(imageview)