У вас есть два списка данных для извлечения, но вы произвольно извлекаете из обоих списков, используя position
, который может быть больше, чем любой из них, поскольку getItemCount()
возвращает объединенный размер обоих списков.
Вы должны решить, из какого списка вытащить, основываясь на том, насколько велика позиция. Примерно так:
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
if (position < feedback.size) {
val feedbackItem = feedback[position]
itemView.tv_question.text = feedbackItem.questions
//...
} else {
val answersItem = answerss[position - feedback.size]
holder.itemView.cb_answer.text = answersItem
//...
}
}
Поскольку вы, похоже, используете общий макет для обоих типов элементов списка, вам также, возможно, потребуется скрыть и показать части макета в двух соответствующих ветвях этого, если / else заявление.