在最后一个imageview上动态添加图像单击网格视图

时间:2013-12-17 06:55:02

标签: android gridview imageview

我是android的新手并且不知道如何使用gridview。我希望在项目结尾处以下图像格式的网格视图当我点击n时应该有一个imageview我应该在网格视图中的最后一个imageview之前添加imageview这个gridview有imageview,s。它动态地添加了imageview。 请帮忙

Grid view

2 个答案:

答案 0 :(得分:0)

  • GridView由适配器支持。查看BaseAdapterListAdapter
  • 适配器由数据集(如列表
  • )支持
  • 您使用适配器的getView()函数为数据集中的给定位置生成视图

您需要做的就是创建一个包含N + 1个元素的列表,其中N是您要显示的图像数量,+1是添加按钮的颜色。

添加图像后,将其添加到倒数第二个位置的列表中。然后,您调用适配器notifyDataSetChanged()功能。这将使用新的后备数据刷新GridView。

答案 1 :(得分:0)

尝试关注adaper:

活动:

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();
    }
}
相关问题