Android Glide传Context引发的非法参数异常那些小坑

今天中午调试一直出现nullContext

我的代码如下

Android Glide传Context引发的非法参数异常那些小坑_第1张图片
Android Glide传Context引发的非法参数异常那些小坑_第2张图片

解决办法:

Glide.with(mContext)
                .load(mdl.getImage())
                .centerCrop()
                .placeholder(R.mipmap.ic_launcher)
                .into(holder.iv_teaPic);

有些如果是getActivity在Fragment中

解决如下

@Override
public void onAttach(Activity activity){
    this.mContext = activity;
}

总而言之记住

补充:

各种context及区别:

1.getApplicationContext() 返回在应用程序运行的所有活动中。
2.Activity.this的context 返回当前activity的上下文
3.getbasecontext() 返回由构造函数指定或setBaseContext()设置的上下文,如果你想从应用程序中的另一种情况下,您可以访问访问上下文。
4.getContext() 返回上下文只查看当前运行的活动。
区别:
1.getApplicationContext() 生命周期是整个应用,应用摧毁它才摧毁Activity.this的context this.getContext(),属于activity ,activity 摧毁他就摧毁。
2.Activity.this的context 拿到的是当前Activity的Context,而getApplicationContext()拿到的是Application的Context。
activity就用当前activity Fragment就用当前Fragment
到这里基本结束了!

你可能感兴趣的:(Android,那些年踩的坑整理)