2012-07-27 81 views
0

這是我的自定義列表視圖的一行。正如你所看到的,有三個imageViews。我應該如何重寫如何通過getview爲多個imageView設置圖像資源

public View getView(int position, View convertView, ViewGroup parent)

我的適配器類的

,這樣,我可以設置imageView.setImageResource,不管我有多少imageviews在我的名單。任何幫助深表感謝。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
<RelativeLayout 
     android:id="@+id/LinearLayout01" 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
<ImageView 
     android:id="@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginRight="10px" /> 
<ImageView 
     android:id="@+id/image1" 
     android:layout_toRightOf= "@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="10px" /> 

<ImageView 
     android:id="@+id/image2" 
     android:layout_toRightOf= "@+id/image1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="10px" /> 
</RelativeLayout> 
</LinearLayout> 
+0

我想你也有被持有者級,現在你有設置該持有人類別的圖像資源。 – 2012-07-27 10:49:31

+0

看到這個[示例](http://android-example-code.blogspot.in/p/dynamic-custoized-list-view-in-android.html) – MAC 2012-07-27 10:50:08

回答

2

上holder類把你的轉接器內

// View Holder for fast accessing List Row 
private class ViewHolder { 
    public ImageView image; 
    public ImageView image1; 
    public ImageView image2; 
} 

而且getView方法

@Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      final ViewHolder holder; 
      if (convertView == null) { 
       holder = new ViewHolder(); 
       convertView = inflater.inflate(R.layout.row_layout,null); 
       holder.image = (ImageView)convertView.findViewById(R.id.image); 
       holder.image1 = (ImageView)convertView.findViewById(R.id.image1); 
       holder.image2 = (ImageView)convertView.findViewById(R.id.image2); 
       convertView.setTag(holder); 
      } else { 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      // Setting Image Resource here 
      holder.image.setImageResource(R.drawable.icon); 
      holder.image1.setImageResource(R.drawable.icon); 
      holder.image2.setImageResource(R.drawable.icon); 

      // return the listview row 
      return convertView; 
     } 

在ListView行佈局why you take LinearLayout and then RelativeLayout inside it,只是take RelativeLayout as a root node.

+0

謝謝;我有一個可繪製的列表,那麼getView中有一個循環機制的範圍,其中我可以遍歷Imageviews的列表和setImageResource,即使這是以修改我的當前佈局爲代價的? – user1400538 2012-07-27 11:09:30

+0

您的列表包含drawables名稱或id? – rajpara 2012-07-27 11:12:46

+0

'公共整數[] mThumbIds = { R.drawable.call, R.drawable.contacts, R.drawable.places, R.drawable.navigation, R.drawable.music, R.drawable.messages , };' – user1400538 2012-07-27 11:15:26

相關問題