2011-03-22 159 views
0

我正在嘗試做一個列表,顯示一個圖像和描述圖像的簡單文本。 在我的互聯網搜索中,我發現了很多方法來做到這一點。有些人使用ArrayAdapter,其他人使用SimpleCursorAdapter。我注意到的一件事,許多人正在創建從ListActivity繼承的類,並在setListAdapter方法中插入從Array或SimpleCursor適配器派生的其他類。 第一個問題:這是做這件事的最好方法嗎?列表視圖與圖像和文字

我創建了一個帶有ListView的LinearLayout。爲了插入行,使用ImageViewTextView創建了另一個佈局。第二個問題:這是正確的嗎?

我很困惑創建這種類型的組件。這是做到這一點的正確方法嗎?

回答

2

是的,這是正確的,雖然你將需要使用一個CursorAdapter代替SimpleCursorAdapter,因爲SimpleCursorAdapter的一點是要填充行只有TextView在裏面。

你會對你的CursorAdapter一個getView方法擴展您排佈局:

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if (convertView == null) { // we don't have a recycled view 
     convertView = LayoutInflator.from(getContext()).inflate(
      R.layout.row, parent, false); 
    } 
    // setup our row 
    TextView text = (TextView) convertView.findViewById(R.id.text_view); 
    text.setText(...); 
    ImageView image = (ImageView) convertView.findViewById(R.id.image_view); 
    image.setImageBitmap(...); 
    return convertView; 
} 

當你設置你的意見的文字和圖片,您可以像使用getItem適配器方法來訪問底層你需要的數據。