Проверка флажка повторяется в списке

У меня есть следующая реализация пользовательского ListView, заполненного с помощью CursorAdapter:

private class CurAdapter extends CursorAdapter{

        public CurAdapter(Context context, Cursor c, int flags) {

            super(context, c, flags);

        }

        @Override
        public void bindView(View view, Context context, Cursor cursor) {

            final ViewHolder holder = (ViewHolder) view.getTag();

            String name = (cursor.getString(cursor.getColumnIndexOrThrow("NotificationDateFor")));
            String image = cursor.getString(cursor.getColumnIndexOrThrow("imageUri"));



            holder.nametext.setText(name);
            setImage(image, holder.iv); 
            holder.chk.setOnClickListener(onchk);


        } 
        @Override
        public View newView(Context context, Cursor cursor, ViewGroup parent) {

            View view = LayoutInflater.from(context).inflate(R.layout.group_list, null);

            ViewHolder holder = new ViewHolder(view);
            view.setTag(holder);
            return view;

        }

        private View.OnClickListener onchk = new View.OnClickListener() {

            @Override
            public void onClick(View v) {


            }
        };


        public class ViewHolder {
            TextView nametext;
            RoundedImageView iv; 
            CheckBox chk; 

            public ViewHolder(View view){

                iv = (RoundedImageView)view.findViewById(R.id.imageView2);
                nametext = (TextView) view.findViewById(R.id.textView1);
                chk = (CheckBox) view.findViewById(R.id.checkBox1);

            }



        }

    }

Я использую паттерн Холдера, чтобы избежать повторения, но при прокрутке списка я получаю флажки в случайном порядке, что мне здесь не хватает?

Также я хочу знать, как хранить значения отмеченных флажков в моем onClick флажка.

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

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