我正在开发一个应用程序,显示歌曲的所有专辑封面图像。 所以我使用滑动来加载和缓存图像并避免使用OutofMemoryError。
这是我在AlbumAdapter中的getView方法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
RelativeLayout albumsLay = (RelativeLayout)songInf.inflate
(R.layout.album_layout, parent, false);
ImageView coverView = (ImageView)albumsLay.findViewById(R.id.song_cover);
//get song using position
Song currSong = songs.get(position);
if (Drawable.createFromPath(currSong.getCover()) != null) {
Drawable img = Drawable.createFromPath(currSong.getCover());
Glide.with(this).load(img).into(coverView);
}
albumsLay.setTag(position);
return albumsLay;
}
这是我得到的错误:
Error:(77, 18) error: no suitable method found for with(AlbumAdapter)
method Glide.with(android.support.v4.app.Fragment) is not applicable
(actual argument AlbumAdapter cannot be converted to android.support.v4.app.Fragment by method invocation conversion)
method Glide.with(android.app.Fragment) is not applicable
(actual argument AlbumAdapter cannot be converted to android.app.Fragment by method invocation conversion)
method Glide.with(FragmentActivity) is not applicable
(actual argument AlbumAdapter cannot be converted to FragmentActivity by method invocation conversion)
method Glide.with(Activity) is not applicable
(actual argument AlbumAdapter cannot be converted to Activity by method invocation conversion)
method Glide.with(Context) is not applicable
(actual argument AlbumAdapter cannot be converted to Context by method invocation conversion)
答案 0 :(得分:1)
您需要使用Glide
Glide.with(this) // will not work
将上下文从Activity/Fragment
传递到AlbumAdapter
Context mContext;
public AlbumAdapter(Context context){
mContext = context;
}
并将该上下文与Glide
Glide.with(mContext)
如果您有Activity
,那么您需要使用new AlbumAdapter(ActivityName.this)
,而对于Fragment
则需要使用new AlbumAdapter(getActivity())
答案 1 :(得分:0)
对于glide的更新版本,
RequestManager manager = Glide.with(imageView);
manager.load(imageUrl).into(imageView);