【发布时间】:2013-12-17 06:55:02
【问题描述】:
我是 android 新手,不知道如何使用 gridview。我希望项目末尾的网格视图采用以下图像格式.这个gridview有imageview,s.它应该动态添加imageview。 请帮忙
【问题讨论】:
-
你使用自定义适配器来设置网格视图数据??
标签: android gridview imageview
我是 android 新手,不知道如何使用 gridview。我希望项目末尾的网格视图采用以下图像格式.这个gridview有imageview,s.它应该动态添加imageview。 请帮忙
【问题讨论】:
标签: android gridview imageview
GridView 由适配器支持。看BaseAdapter或ListAdapter
getView() 函数为数据集中的给定位置生成视图您需要做的就是创建一个包含 N+1 个元素的列表,其中 N 是您要显示的图像数量,+1 是添加按钮。
添加图像后,您将其添加到列表中倒数第二个位置。然后调用适配器notifyDataSetChanged() 函数。这将使用新的支持数据刷新 GridView。
【讨论】:
尝试以下适配器:
活动中:
private List<Bitmap> images=new List<Bitmap>();
images.add(<LastImage>);
MyAdapter adapter=new MyAdapter(this,images);
gridView.setAdapter(adapter);
添加新项目时:
adapter.addImage(<NewBitmap>);
适配器:
public class MyAdapter extends ArrayAdapter<Bitmap> {
private List<Bitmap> images;
private Context context;
public MyAdapter(Context context,
List<Bitmap> images) {
super(context,0, images);
this.images = images;
this.context = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView image=(ImageView)convertView;
if (image == null) {
image = new ImageView(context);
}
imageView.setImageBitmap(images.get(position));
return imageView;
}
public void addImage(Bitmap image) {
images.add(images.size()-1,image);
this.notifyDataSetChanged();
}
}
【讨论】: