我正在开发一个android应用程序。我使用ImageLoader从service.The代码中加载图片,如下所示:
public ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(.this));
options = new DisplayImageOptions.Builder().showStubImage(R.drawable.ic_stub).showImageForEmptyUri(R.drawable.ic_empty).showImageOnFail(R.drawable.ic_error).cacheInMemory(true).cacheOnDisc(true).displayer(new RoundedBitmapDisplayer(5)).build();
imageLoader.displayImage(my_pic, holder.head, options);我在一个活动的getView()中使用了这段代码。我可以从服务端读取图片,但holder.head总是显示图片R.drawable.ic_stub。在这段代码之前,我还在函数onCreate()中使用了ImageLoader来显示图片,而且效果很好,它们都在同一个文件中。
为什么我不能显示正确的图片?
发布于 2016-03-31 19:10:48
像这样使用图像加载器.....第一次初始化
DisplayImageOptions defaultOptions;
ImageLoaderConfiguration config;
// OnCreate{
defaultOptions = new DisplayImageOptions.Builder()
.cacheOnDisc(true).cacheInMemory(true)
.imageScaleType(ImageScaleType.EXACTLY).
showImageOnFail(R.drawable.noimage).showImageForEmptyUri(R.drawable.noimage).
showImageOnLoading(R.drawable.noimage)
.displayer(new FadeInBitmapDisplayer(300)).build();
config = new ImageLoaderConfiguration.Builder(
getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.memoryCache(new WeakMemoryCache())
.discCacheSize(100 * 1024 * 1024).build();
ImageLoader.getInstance().init(config);
}公共类SubCatAdapter扩展了BaseAdapter {
.....
private ImageLoader imageLoader;
public SubCatAdapter(Context mcontext, ArrayList<SubCategoriesVO> itmes) {
this.mcontext = mcontext;
....
imageLoader = imageLoader.getInstance();
}
....
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Holder holder;
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) mcontext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.subcat_list_item, null);
holder = new Holder();
holder.imgIcon = (ImageView) convertView.findViewById(R.id.dd_icon);
.....
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
SubCategoriesVO item = searched_itmes.get(position);
if (imageLoader != null)
imageLoader.displayImage(item.getImg(), holder.imgIcon);
....
return convertView;
}}添加访问internet的权限
<uses-permission android:name="android.permission.INTERNET" />https://stackoverflow.com/questions/36331503
复制相似问题