ImageLoader 报错未初始化

异常

java.lang.IllegalStateException: ImageLoader must be init with configuration before using
    at com.nostra13.universalimageloader.core.ImageLoader.checkConfiguration(ImageLoader.java:613)
    at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:236)
    at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:209)
    at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:410)
    at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:385)

原因
google搜到了一篇文章,地址:https://github.com/nostra13/Android-Universal-Image-Loader/issues/180

解决
如果项目中的Activity都是继承自一个BaseActivity,那么在BaseActivity中的onCreate方法中调用如下方法:

private void initImageloader() {
        if(!ImageLoader.getInstance().isInited()){  //是否被初始化,如果没有就执行初始化操作
            ImageLoaderHelper.initConfig(this);  //初始化ImageLoader
        }
 }

关于如何配置初始化ImageLoader以及ImageLoader缓存的流程,可以参考:http://www.cnblogs.com/tianzhijiexian/p/4034215.html

补充
File.mkdirs()该方法是用来创建文件的:

  1. 如过文件不存在那么就创建文件,如果创建成功返回 true,反之
  2. 如果文件存在,也会返回false

你可能感兴趣的:(ImageLoader 报错未初始化)