Установка флажка динамически из sqlite во фрагменте

У меня проблемы с поиском лучшего способа хранить и отображать флажки в виде списка.

Прямо сейчас у меня есть код в методе getView:

@Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            View view = convertView;
            //final ViewHolder holder;
            if (convertView == null) {
                convertView = getActivity().getLayoutInflater().inflate(R.layout.grid_item, null);
            }
            ImageView img = (ImageView) convertView.findViewById(R.id.grid_item_img);

            cb = (CheckBox) convertView.findViewById(R.id.chk_box_griditem);


            if(photos.get(position).getIshidden()){
                cb.setChecked(false);
            }else{
                cb.setChecked(true);
            }


            cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView,
                        boolean isChecked) {
                    MySQLiteHelper db = MySQLiteHelper.getInstance(getActivity());
                    Log.d("checkbox", "status: " + photos.get(position).getIshidden());

                    if (isChecked) {
                        photos.get(position).setIshidden(true);
                        cb.setChecked(true);
                        Log.d("checkbox", "isChecked");
                        db.updatePhoto(photos.get(position));

                    } else {
                        photos.get(position).setIshidden(false);
                        cb.setChecked(false);
                        Log.d("checkbox", "isCheckedelse");
                        db.updatePhoto(photos.get(position));
                    }

                }
            });

            imageLoader.displayImage(imgUrls[position], img, options, animateFirstListener);

            //img.setImageResource(mImgRes);
            return convertView;
        }

Помощник по базам данных принимает объект фотографии в качестве аргумента и обновляет строку, если она существует. Так что сейчас я обновляю текущий объект фотоisHidden() чтобы быть истиной или ложью, тогда передайте обновленный объект помощнику по БД.

Физическая база данных, кажется, обновляется правильно. Однако проблема возникает, когда устанавливается состояние флажков. Флажки, кажется, случайно установлены как отмеченные или не отмеченные.

Также я чувствую, что делать это в getView является жадным процессором, но я не уверен, как еще это сделать.

Ответы на вопрос(4)

Ваш ответ на вопрос