0

我正在尝试动态更改列表视图的图像。但我不知道如何改变它,因为使用setImageResource不起作用。

这是我的代码片段:

public void onCreate(Bundle savedInstanceState) {

    ImageView imgIco=(ImageView)findViewById(R.id.imgIco);
    Integer id =getIntent().getExtras().getInt("id");

 if(id==2) {
     String[] valenzeComposti = getResources().getStringArray(R.array.int_valenze);

    // I cannot do this ---------------> imgIco.setImageResource(R.drawable.ico1);
     setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item2,R.id.txtItem, valenzeComposti));
     ListView lv2 = getListView();
      lv2.setTextFilterEnabled(true);

      lv2.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> arg0, View v,int position, long id) {

                Intent intent = new Intent(getApplicationContext(),InterClassi.class);
                    intent.putExtra("id",(int)id);
                    startActivity(intent);

            }

          });

 }

列表视图创建如下 -

The listview xml (R.layout.list_item2)

<?xml version="1.0" encoding="utf-8"?>

   <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:padding="5dip">

  <ImageView
                android:id="@+id/imgIco"
                android:layout_width="50dip"
                android:layout_height="50dip"
                android:layout_marginRight="5dp"
               >
   </ImageView>
     ............
   </RelativeLayout>

请帮助我..提前谢谢你

4

2 回答 2

0

您可以通过扩展baseadapter 类来动态地将资源传递给列表视图来创建您的自定义列表视图。看看这个链接 - http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/ 希望这会有所帮助。

于 2013-06-01T10:05:51.233 回答
0

也许你应该让你自己实现 ListAdapter。最常见的方式是扩展 BaseAdapter。API Demos 中的 List8 是制作自定义 ListAdapter 的一个很好的例子。

于 2013-06-01T09:21:21.437 回答