如何通过getview为多个imageView设置图像资源

问题描述:

这是我的自定义列表视图的一行。正如你所看到的,有三个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

上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