动态改变imageview的图像

时间:2013-02-20 07:37:08

标签: android imageview

我有一个由布局list_item_new.xml定义的列表,其中我有一个imageView和2个textViews。 ImageView的定义如下

 <ImageView
        android:id="@+id/listimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"

        android:gravity="center"

        android:src="@drawable/users2"
    />

我在3个不同的屏幕上使用相同的ListView。 现在我想要的是这个imageView上的图像对于所有3个屏幕应该是不同的。我想改变像这样的图像

LayoutInflater inflater = (LayoutInflater) this.getSystemService
             (Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.list_item_new, null);
        listimg=(ImageView)ll.findViewById(R.id.listimage);
        listimg.setImageResource(R.drawable.office);

office.png是drawable中的图片。

整个代码正在执行,但图像没有变化。请告诉我怎么做才能改变图像。我正在onCreate活动方法中编写此代码,之后我将数据分配给列表

感谢

1 个答案:

答案 0 :(得分:1)

见这个课程

public class Adapter extends SimpleAdapter{

public Adapter(Context context, List<? extends Map<String, String>> data,
        int resource, String[] from, int[] to) {
    super(context, data, resource, from, to);

}
@Override
public View getView(int position, View convertView, ViewGroup parent){
 View row = convertView;
 if (row == null) {
    LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    row ll = inflater.inflate(R.layout.list_item_new, null);
    listimg=(ImageView)ll.findViewById(R.id.listimage);
    listimg.setImageResource(R.drawable.office);

    textView=(TextView)ll.findViewById(R.id.<textViewID>);
    textView.setText("Hello");
 }

 return row;
}

}