Android GridView带按钮添加图像

时间:2017-09-28 05:50:29

标签: android gridview

我想在显示如下图所示的图像列表后,在网格的末尾创建一个带有添加按钮的网格视图。 我能够从网络中获取图像列表并添加到网格中。但是,无法在最后添加按钮。

R.drawable文件夹中提供了添加按钮的图像。感谢任何实现这一目标的建议。

这是我的适配器代码。

public class PhotosGridAdapter extends ArrayAdapter<PhotoAlbum.Edge> {


    public PhotosGridAdapter(Context context, List<PhotoAlbum.Edge> photos) {
        super(context, 0, photos);
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        PhotoAlbum.Edge  photoItem = getItem(position);

        if(convertView == null){
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.grid_item_photo, parent, false);
        }
        ImageView ivPhoto = (ImageView) convertView.findViewById(R.id.grid_image);
        Picasso.with(getContext()).load(photoItem.node.mediaItem.url).into(ivPhoto);
        return convertView;
    }
}

image

1 个答案:

答案 0 :(得分:1)

在你的获取计数方法中,返回photos.size()+ 1;

public int getCount() {
    return photos.size() + 1;        
}

并在你的getView()方法中

public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        if(convertView == null){
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.grid_item_photo, parent, false);
        }
        ImageView ivPhoto = (ImageView) convertView.findViewById(R.id.grid_image);

        if(position == photos.size()){
            ivPhoto.setImageResource(R.drawable.ic_your_plus_icon_here);
            return convertView;
        }
        PhotoAlbum.Edge  photoItem = getItem(position);


        Picasso.with(getContext()).load(photoItem.node.mediaItem.url).into(ivPhoto);
        return convertView;
    }

希望这有帮助.. !!!