Android 自定义listview适配器,setImageBitmap不加载位图

Android 自定义listview适配器,setImageBitmap不加载位图,android,listview,bitmap,Android,Listview,Bitmap,我为ListViewMyrStitleListAdapter扩展阵列创建了自己的适配器Item的adapter是我的实体类。我重写了getView方法,如下所示: public View getView(int position, View converView, ViewGroup parent) { View view = converView; if(view == null) { LayoutInflater li =(LayoutInflater)context.get

我为ListViewMyrStitleListAdapter扩展阵列创建了自己的适配器Item的adapter是我的实体类。我重写了getView方法,如下所示:

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;
}
setListAdapter(new myRSSTitleListAdapter(this, R.layout.rss_items, items));
ImageTool是我编写的一个类,loadImage从传递给它的url返回位图。 我在我的ListActivity中调用MyrStitleListAdapter,如下所示:

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;
}
setListAdapter(new myRSSTitleListAdapter(this, R.layout.rss_items, items));
items是项的数组

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

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

谢谢

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

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

如果loadImage正常工作,行中的文本应该需要很长时间才能显示,因为getView在loadImage正常工作之前不会返回。 如果loadImage出现错误或正在异步工作,则getView将立即返回并仅设置文本,这就是您正在描述的行为。 将图像异步加载到ImageView要比它应该的复杂得多。如果你不能让它工作,你可以试试