首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >自定义列表视图适配器,setImageBitmap不加载位图。

自定义列表视图适配器,setImageBitmap不加载位图。
EN

Stack Overflow用户
提问于 2011-04-03 17:08:16
回答 1查看 1.3K关注 0票数 0

我为Item的listView(myRSSTitleListAdapter)扩展ArrayAdapter创建了自己的适配器(Item是my实体类)。我这样重写了getView方法:

代码语言:javascript
代码运行次数:0
运行
复制
public View getView(int position, View converView, ViewGroup parent) {
  View view = converView;
  if(view == null) {
    LayoutInflater li =(LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
    view = li.inflate(layout, null);
  }

  final Item listItem = items[position];

  if(listItem != null) {
    ImageView image = (ImageView)view.findViewById(R.id.image);
    image.setImageBitmap(ImageTool.loadImage(listItem.getImageURL()));

    HTMLUtilities htmlTool = HTMLUtilities.getInstance();
    TextView title = (TextView)view.findViewById(R.id.label);
    title.setText(htmlTool.escapeHTML(listItem.getTitle()));
  }

  return view;
}

ImageTool是我编写的一个类,loadImage从传递给它的url返回一个位图。我在我的ListActivity中这样调用ListActivity:

代码语言:javascript
代码运行次数:0
运行
复制
setListAdapter(new myRSSTitleListAdapter(this, R.layout.rss_items, items));

项是项的数组。

rss_items是带有imageView和textView的线性布局。

对于textView,一切都很好,setText对我返回的视图有影响,但是图像没有出现(我确信位图就在这里)

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-04-03 17:23:08

我认为问题在loadImage中,因为您的代码看起来不错。

应该发生两件事中的一件:

  1. 如果loadImage工作正常,那么您的行中的文本应该需要很长时间才会出现,因为getViewloadImage运行之前不会返回。
  2. 如果loadImage有错误或正在异步工作,那么getView将立即返回,并且只设置文本,这是您描述的行为。

异步地将映像加载到ImageView中要比应该加载的图像复杂得多。如果你不能让DroidFuWebImageView开始工作,你可以试试它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5531095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档