怎么用listview写两个带图片的
时间: 2023-07-08 16:03:48 浏览: 88
自己写listview例子跟图片结合
3星 · 编辑精心推荐
你可以使用自定义的ListView适配器来实现带有两个图片的布局。下面是一个简单的示例代码,它将创建一个包含两个ImageView的布局,并将它们添加到ListView中。
1. 创建一个布局文件,例如list_item.xml:
```
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"/>
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image2"/>
</LinearLayout>
```
2. 创建一个自定义的适配器类,例如MyAdapter.java:
```
public class MyAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mInflater;
public MyAdapter(Context context) {
mContext = context;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return 2; // 返回数据项的数量,这里是2
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.image1 = (ImageView) convertView.findViewById(R.id.image1);
holder.image2 = (ImageView) convertView.findViewById(R.id.image2);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
// 根据position设置ImageView的图片
if (position == 0) {
holder.image1.setImageResource(R.drawable.image1);
holder.image2.setImageResource(R.drawable.image2);
} else {
holder.image1.setImageResource(R.drawable.image2);
holder.image2.setImageResource(R.drawable.image1);
}
return convertView;
}
static class ViewHolder {
ImageView image1;
ImageView image2;
}
}
```
3. 在你的Activity中使用该适配器:
```
ListView listView = (ListView) findViewById(R.id.list_view);
MyAdapter adapter = new MyAdapter(this);
listView.setAdapter(adapter);
```
这样就可以在你的ListView中显示两个带图片的项了。
阅读全文