android позиция recyclerview при прокрутке изменяется
есть проблема с recyclerview
есть recyclerview в котором есть названия тестов и есть массив выполненных тестов рядом с recyclerview отображается оценка за тест поиск оценки идет в адаптере в методе onBindViewHolder
override fun onBindViewHolder(furnitureView: FurnitureView, position: Int) { if (idComplite != null) {
for (j in idComplite!!.indices) {
if (position == idComplite!![j] ) {
furnitureView.scores.visibility = View.VISIBLE
furnitureView.scores.text = "score:" + scoresRes[j] + "%"
// furnitureView.imgScore.setVisibility(View.VISIBLE);
}
}
}
есть проблема когда список большой и прокручиваем вниз scores в списке начинает показываться не в тех местах . заранее спасибо
Ответы (1 шт):
Автор решения: ЮрийСПб
→ Ссылка
Судя по всему у вас стандартная ошибка - в RecyclerView вьюхи переиспользуются, засим надо не забывать совершать обратные операции при изменении оных. Т.е., если вы по к-л условию делаете что-то видимым - то надо при несовпадении условия делать это невидимым.
В вашем случае - добавьте else и там скройте вьюху:
if (position == idComplite!![j] ) {
furnitureView.scores.visibility = View.VISIBLE
} else {
furnitureView.scores.visibility = View.GONE
}