在使用universalimageloader框架获取网络图片的时候,出现ImageLoader must be init with configuration before using错误,
public class MainActivity extends AppCompatActivity {
private ImageView iv;
private String url = "https://img-my.csdn.net/uploads/201404/13/1397393290_5765.jpeg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) this.findViewById(R.id.main_tv);
ImageLoader imageLoader = ImageLoader.getInstance();
//使用ImageLoader的loadImage()方法来加载网络图片
imageLoader.loadImage(url, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String s, View view) {
}
@Override
public void onLoadingFailed(String s, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String s, View view, Bitmap bitmap) {
iv.setImageBitmap(bitmap);
}
@Override
public void onLoadingCancelled(String s, View view) {
}
});
}
}
以上的代码根本就没有任何问题,但是为什么会报错误呢!在网上找了好多,解决的办法就是在使用ImageView之前加上这样一段代码,
imageLoader.init(ImageLoaderConfiguration.createDefault(MainActivity.this));
然后就好用了,
public class MainActivity extends AppCompatActivity {
private ImageView iv;
private String url = "https://img-my.csdn.net/uploads/201404/13/1397393290_5765.jpeg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) this.findViewById(R.id.main_tv);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(MainActivity.this));
//使用ImageLoader的loadImage()方法来加载网络图片
imageLoader.loadImage(url, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String s, View view) {
}
@Override
public void onLoadingFailed(String s, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String s, View view, Bitmap bitmap) {
iv.setImageBitmap(bitmap);
}
@Override
public void onLoadingCancelled(String s, View view) {
}
});
}
}
本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!