Android 使用Glide加载图像url时出错
我正在尝试使用图像url显示图像,我正在使用glide库加载这些图像,但是每当我尝试运行应用程序时,图像无法显示或无法加载到活动中。我能看到正在显示的文本,但看不到图像 这就是我得到的错误Android 使用Glide加载图像url时出错,android,android-glide,Android,Android Glide,我正在尝试使用图像url显示图像,我正在使用glide库加载这些图像,但是每当我尝试运行应用程序时,图像无法显示或无法加载到活动中。我能看到正在显示的文本,但看不到图像 这就是我得到的错误 java.lang.IllegalArgumentException: You cannot start a load on a null Context 11-11 03:23:01.713 5428-5428/? W/System.err: at com.bumptech.glide.manage
java.lang.IllegalArgumentException: You cannot start a load on a null Context
11-11 03:23:01.713 5428-5428/? W/System.err: at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:84)
11-11 03:23:01.713 5428-5428/? W/System.err: at com.bumptech.glide.Glide.with(Glide.java:629)
这是密码
public class SampleAdapter extends RecyclerView.Adapter <SampleAdapter.ViewHolder> {
private List<SampleModel> list;
private Context mContext = null;
public SampleAdapter(List<SampleModel> sampleModelList) {
this.list = sampleModelList;
}
@Override
public SampleAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sample_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(WatchlistAdapter.ViewHolder holder, int position) {
String image = "https://image.tmdb.org/t/p/w500/9HE9xiNMEFJnCzndlkWD7oPfAOx.jpg";
try{
final SampleModel sample = list.get(holder.getAdapterPosition());
if(sample != null) {
holder.title.setText(sample.getTitle());
Glide.with(mContext).load(image)
.placeholder(R.drawable.placeholder)
.dontAnimate()
.fitCenter()
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(holder.cover);
} else {
Glide.clear(holder.cover);
}
} catch(Exception e) {
e.printStackTrace();
}
}
@Override
public int getItemCount() {
return (list != null? list.size():0);
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView title;
public ImageView cover;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.title);
cover= (ImageView) itemView.findViewById(R.id.coverImage);
}
}
公共类samdeccapter扩展了RecyclerView.Adapter{
私人名单;
私有上下文mContext=null;
公共SampleCapter(列表sampleModelList){
this.list=sampleModelList;
}
@凌驾
public SampleCapter.ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.sample_项,parent,false);
返回新的ViewHolder(视图);
}
@凌驾
public void onBindViewHolder(WatchlistAdapter.ViewHolder,int位置){
字符串图像=”https://image.tmdb.org/t/p/w500/9HE9xiNMEFJnCzndlkWD7oPfAOx.jpg";
试一试{
final-SampleModel-sample=list.get(holder.getAdapterPosition());
if(示例!=null){
holder.title.setText(sample.getTitle());
使用(mContext)滑动。加载(图像)
.placeholder(R.drawable.placeholder)
.dontAnimate()
.fitCenter()
.crossFade()
.diskCacheStrategy(diskCacheStrategy.ALL)
.插入(支架盖);
}否则{
滑动。清除(支架。盖);
}
}捕获(例外e){
e、 printStackTrace();
}
}
@凌驾
public int getItemCount(){
返回(list!=null?list.size():0);
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
公共文本视图标题;
公众视野封面;
公共视图持有者(视图项视图){
超级(项目视图);
title=(TextView)itemView.findViewById(R.id.title);
cover=(ImageView)itemviewbyd(R.id.coverImage);
}
}
执行以下操作:
public SampleAdapter(List<SampleModel> sampleModelList, Context context) {
this.list = sampleModelList;
mContext = context ;
}
publicSampleCapter(列表sampleModelList,上下文){
this.list=sampleModelList;
mContext=上下文;
}
执行以下操作:
public SampleAdapter(List<SampleModel> sampleModelList, Context context) {
this.list = sampleModelList;
mContext = context ;
}
publicSampleCapter(列表sampleModelList,上下文){
this.list=sampleModelList;
mContext=上下文;
}
检查您的mContext。可能是您没有正确初始化上下文,因此它是空的,这是导致问题的原因。@oathkeeper我已经更新了我的代码。请检查您的mContext。可能是您没有正确初始化上下文,因此它是空的,这是导致问题的原因。@oathkeeper我已经更新了我的代码。请检查