Просмотр сбрасывается после прокрутки в RecyclerView - PullRequest
0 голосов
/ 21 декабря 2018

Я реализую множественный выбор в GridManager с помощью RecyclerView.

Вот мой код внутри адаптера

imgStamps.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {

                    //First setting up isSelected() or not

                    if (imageList.get(getAdapterPosition()).isSelected()) {
                        imageList.get(getAdapterPosition()).setSelected(false);
                    } else {
                        imageList.get(getAdapterPosition()).setSelected(true);
                    }

                   //Setting blur image on Imageview onLongclick and resting on again press.
                    if (imageList.get(getAdapterPosition()).isSelected()) {
                        mCount++;
                        imgBlurr.setVisibility(View.VISIBLE);
                    } else {
                        mCount--;
                        imgBlurr.setVisibility(View.GONE);
                    }
                    mCommunicator.clicked(mCount, getAdapterPosition());
                    return true;
                }
            });

Приведенный выше код находится внутри ViewHolder, а не onBindViewHolder.

Если я выбираю первое изображение и прокручиваю вниз, а затем вверх, изображение сбрасывается.

Можно ли указать на ошибку или поведение?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

RecyclerView будет повторно использовать ваш вид элемента при прокрутке.Для управления множественным выбором у вас должен быть массив выбранной позиции (или выбранной модели).И onBindViewHolder, проверьте положение в этом массиве, чтобы проверить выбранный элемент или нет.Для более подробной информации о реализации, пожалуйста, обратитесь к: Multi selection в RecyclerView?

0 голосов
/ 21 декабря 2018

RecyclerView повторно использует ваш макет.Поместите свою логику в метод onBindViewHolder.

Для получения дополнительной информации изучите этот вопрос Как правильно выделить выбранный элемент в RecyclerView?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...