gpt4 book ai didi

android - 显示来自 MediaStore.Audio.Albums.ALBUM_ART 的专辑封面

转载 作者:行者123 更新时间:2023-11-29 14:33:20 24 4
gpt4 key购买 nike

我在带有自定义 CursorAdapter 的 LoaderManager 中使用 CursorLoader。我已经实现了显示专辑和相关艺术家,现在我想显示封面。

这是我的自定义 CursorAdapter:

public class AlbumsAdapter extends CursorAdapter {


private final LayoutInflater mInflater;

public AlbumsAdapter(Context context, Cursor c) {
super(context, c);
mInflater=LayoutInflater.from(context);

}
@Override
public void bindView(View view, Context context, Cursor cursor) {

TextView albumTitle =(TextView)view.findViewById(R.id.albumTextView);
albumTitle.setText(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM)));

TextView artistName=(TextView)view.findViewById(R.id.artistTextView);
artistName.setText(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ARTIST)));

ImageView albumCover=(ImageView)view.findViewById(R.id.artistTextView);
// Here what should I do ?

}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final View view=mInflater.inflate(R.layout.albums_row,parent,false);
return view;
}
}

我尝试了以下但没有成功:

    String path = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ART));
File imgFile = new File(path);
if(imgFile.exists()){

Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

ImageView albumCover=(ImageView)view.findViewById(R.id.album_cover);
albumCover.setImageBitmap(myBitmap);

}

MediaStore.Audio.Albums.ALBUM_ART 返回什么以及如何使用它来使 ImageView 显示封面?谢谢。

最佳答案

我已经实现了在 ImageViews 中加载专辑封面:

    String coverPath = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ART));
Drawable img = Drawable.createFromPath(coverPath);
ImageView coverAlbum=(ImageView)view.findViewById(R.id.album_cover);
coverAlbum.setImageDrawable(img);

问题是列表很慢。我想我应该缩小封面的分辨率以消耗更少的内存。

关于android - 显示来自 MediaStore.Audio.Albums.ALBUM_ART 的专辑封面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com