GridView加载图像两次

时间:2015-05-31 11:30:27

标签: android api gridview instagram

我正在尝试创建一个用于加载带有特定标记的Instagram图像的图库。 它的工作非常好,除了图像是重复的。

我的自定义适配器如下所示:

    private class ImageAdapter extends BaseAdapter {
        private Context mContext;
        private ArrayList<SquareImageButton> imageButtons;

        public ImageAdapter(Context c, ArrayList<SquareImageButton> imageButtons) {
            mContext = c;
            this.imageButtons = imageButtons;
        }
        @Override
        public int getCount() {
            return imageButtons.size();
        }

        @Override
        public Object getItem(int position) {
            return imageButtons.get(position);
        }

        @Override
        public long getItemId(int position) {
            return imageButtons.get(position).getId();
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent){
            return imageButtons.get(position);
        }

        public void addData(ArrayList<SquareImageButton> newButtons){
            imageButtons.addAll(newButtons);
            notifyDataSetChanged();
        }
    }

我试图重做getView方法,因为这是每个人在其他人的问题中建议的。但我似乎无法弄明白。

我试过这样做:

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        SquareImageButton sib;
        if(convertView == null){
            sib = imageButtons.get(position);
        }else{
            sib = (SquareImageButton)convertView;
        }
        return sib;
    }

但这只会让整个gridview变得怪异,浮动的图像会在我滚动的时候全部移动。

任何建议都将不胜感激。

0 个答案:

没有答案