2011-04-03 129 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

相關問題