Android: ImageLoader must be init with configuration before using
2016-03-02 11:58
483 查看
在使用ImageLoader来显示网络传回的图片的时候,报错 ImageLoader must be init with configuration before using ,网上找的方法是加一句
一开始以为是笔误,把imgeLoader写成了小写, 所以改成大写ImageLoader就直接加上去。如果这么加,又会有问题,不能对一个非静态方法做静态引用,也就是这个imageLoader是一个对象才对,那么就试着new一个,结果构造方法又是不可见的。所以,网上这些人抄袭别人的东西,又总是只写一半,浪费别人时间又误导别人。
前面说了,ImageLoader的init()方法是一个非静态方法,要调用就得有一个对象,而构造方法不可见,那么一般会有一个getInstance()方法让我们获取对象。
加一句下面的代码:
HomeActivity.homeContext是一个context,这里根据自己需要改成自己的context.
另外,最上面给出的那行代码也是没有错的,只是没有交代清楚,实际上他们是定义了一个BaseActivity作为他么Activity的父类,在BaseActivity中有这么一行代码
所以是小写的imgeLoader
imageLoader.init(ImageLoaderConfiguration.createDefault(MainActivity.this));
一开始以为是笔误,把imgeLoader写成了小写, 所以改成大写ImageLoader就直接加上去。如果这么加,又会有问题,不能对一个非静态方法做静态引用,也就是这个imageLoader是一个对象才对,那么就试着new一个,结果构造方法又是不可见的。所以,网上这些人抄袭别人的东西,又总是只写一半,浪费别人时间又误导别人。
前面说了,ImageLoader的init()方法是一个非静态方法,要调用就得有一个对象,而构造方法不可见,那么一般会有一个getInstance()方法让我们获取对象。
加一句下面的代码:
ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(HomeActivity.homeContext));
HomeActivity.homeContext是一个context,这里根据自己需要改成自己的context.
另外,最上面给出的那行代码也是没有错的,只是没有交代清楚,实际上他们是定义了一个BaseActivity作为他么Activity的父类,在BaseActivity中有这么一行代码
public ImageLoader imageLoader = ImageLoader.getInstance();
所以是小写的imgeLoader
相关文章推荐
- 从Android Handler内部类到WeakReference的知识关联
- Android自定义控件—仿仪表盘进度控件ArcProgressBar
- 关于ListView中使用GestureDetector冲突的解决办法
- 真机运行android遭遇Wait for debugging
- Android代码内存优化建议-Android官方篇
- 浅谈android 四大组件 以及mvc mvp
- Android之ListView下拉刷新和上拉加载实现详解(含源码Demo)
- Android Studio之Eclipse工程代码搬家
- <手机控>开发过程记录
- AIDL导入Android Studio
- Android ExpandableListView的基本使用
- Android动画学习笔记-Android Animation
- Activity的启动模式
- 关于Android的一个常见错误:Unable to add window
- Android Studio 虚拟机设置/启动失败之consider using a system image...
- Android Studio 快捷键
- 【Android Exception】android.content.pm.PackageManager$NameNotFoundException
- ubuntu编译android源码出现的问题记录
- Android基础—思维导图
- Android任务和返回栈完全解析,细数那些你所不知道的细节