在Listview上展示图片的两种方法。SimpleAdapter用于ListView显示时可以自定义布局,但是用于展示图片并不是那么直接,但是可以利用setViewBinder进行绑定。此外,可以继承BaseAdapter,重写getview方法。
首先,方法一:
SimpleAdapter adapter = new SimpleAdapter(
SecondActivity.this, mListData, R.layout.listitem,
new String[] { "author", "title", "bmp" },
new int[] { R.id.author, R.id.title, R.id.img });
adapter.setViewBinder(new ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String arg2) {
if (view instanceof ImageView
&& data instanceof Bitmap) {
ImageView iv = (ImageView) view;
iv.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
});
mListView.setAdapter(adapter);
这里,mListData的map里面存储了bitmap型的图片,对应listitem里面的R.id.img,在setViewBinder的时候,重写setViewValue时,view 就是需要绑定的view,
if (view instanceof ImageView&& data instanceof Bitmap)判断listitem里面R.id.img是否是ImageView,并且为这个ImageView绑定的data是否为BitMap型的。这里的data将会对应到listitem里面存的bitmap型数据。最后记得return true。