android中怎样在listView中的每一个item显示不同的图片

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


1
上海酒店



2
瑞吉酒店



3
餐厅


for(int i=0;i {
HashMap pMap=new HashMap();
pMap.put("picture",R.drawable.icon);
pMap.put("name", "name"+i);

programeList.add(pMap);
}
SimpleAdapter adapter=new SimpleAdapter(this,programeList,R.layout.list_item, new String[]{"channelPicture","pr"}, new int[]{R.id.img,R.id.name});
listView.setAdapter(adapter);

有每个餐厅的图片,解析xml得到餐厅名,怎样把餐厅的的图片加到listview的每个item中

显示成:
餐厅图片1 上海酒店
餐厅图片2 瑞吉酒店
餐厅图片3 餐厅

5个回答

你需要重写SimpleAdapter来自定义一个adapter来处理。
不能直接字符串给ImageView的。
在自定义的Adapter中的getView里
可以使用
ImageView.setImageDrawable(Drawable d)来处理。
具体改为自己的变量名。

整体布局两列。一列是图片,一列是listview。 只要图片的和listview的row对齐。

我这是笨方法,也许有更好的。

为item定义一个布局文件,类似下面这样的
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2dip"
android:background="@android:color/transparent"

>
<ImageView
    android:id="@+id/imageview_item"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="5dip"
    android:layout_gravity="center"

    />

android:id="@+id/textview_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dip"
android:textColor="#ffffff"
android:layout_gravity="center" />

然后自定义adapter
class TestAdapter extends BaseAdapter {}

如楼上,先定义item的布局文件,再自己定义一个adpter,在adpter的getView方法中把你解析的图片一个一个的赋给imageview。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问