2011-04-03 131 views
0

我创建了我自己的适配器的ListView(myRSSTitleListAdapter)Item(Item是我的实体类)的扩展ArrayAdapter。我推翻了getView方法是这样的:自定义列表视图适配器,setImageBitmap不加载位图

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的位图。 我打电话myRSSTitleListAdapter在我的ListActivity这样的:

setListAdapter(new myRSSTitleListAdapter(this, R.layout.rss_items, items)); 

项目是项目的数组。

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

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

谢谢

回答

0

我想问题出在loadImage,因为你的代码看起来不错。

两种情况之一应该发生:

  1. 如果loadImage工作,在你的行中的文本应该采取很长时间才能出现,因为getView不会返回,直到它loadImage一样。
  2. 如果loadImage有错误或正在异步工作,那么getView将立即返回并且只设置您的文本,这是您描述的行为。

将图像异步加载到ImageView比应该更加棘手。如果你不能使用它,你可以试试DroidFuWebImageView

+0

谢谢你的回答。 – mlwacosmos 2011-04-15 16:05:50

相关问题