先写布局文件
<ListView
android:id="@+id/iv_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:scrollbars="none" />
再写实体类
public class Image {
private int id;
public GvData(int imageid){
this.id = imageid;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
适配器
import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
public class BaiNaImageAdapter extends BaseAdapter {
private Context context;
private List<Bitmap> bplist;;
public BaiNaImageAdapter(Context context, List<Bitmap> bplist) {
super();
this.context = context;
this.bplist = bplist;
}
@Override
public int getCount() {
return bplist.size();
}
@Override
public Object getItem(int position) {
return bplist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = View.inflate(context, R.layout.fl_item_image, null);
viewHolder.iv = (ImageView) convertView.findViewById(R.id.iv_item);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.iv.setImageResource(bnList.get(position).getId());
return convertView;
}
private static class ViewHolder {
private ImageView iv;
}
}
类里面的集合加入本地图片
这一句都是会添加的private BaiNaImageAdapter mAdapter ;
ArrayList<Image> list = new ArrayList<>();
list.add(new Image(R.drawable.imag1));
list.add(new Image(R.drawable.imag2));
list.add(new Image(R.drawable.imag3));
mAdapter = new BaiNaImageAdapter(context, list );
mListView.setAdapter(mAdapter);
综上,就能显示本地list中的图片,如果你的listview嵌套了了ScrollView的话,要做适当的处理
还有一种集合的写法是这样的
private int[] imgs = { R.drawable.baina_shop_01, R.drawable.baina_shop_02, R.drawable.baina_shop_03 };
bplist = new ArrayList<Bitmap>();
for (int i = 0; i < imgs.length; i++) {
bplist.add(Utils.readBitMap(context, imgs[i]));
}
这个的写法就不需要写实体类,不过在适配器中,要相应的写成private List<Imagview> list;;
viewHolder.iv.setImageBitmap(bplist.get(position));
以上就是全部内容,可能会存在一些瑕疵,请见谅
本文介绍如何在Android应用中使用ListView展示本地图片资源。通过创建实体类、适配器,并利用LayoutInflater填充布局,实现图片列表的滚动展示。文章还提供了一种不使用实体类的方法。

405

被折叠的 条评论
为什么被折叠?



