Я получаю эти ошибки при запуске проекта kotlin - PullRequest
0 голосов
/ 27 апреля 2020

Я получаю эти ошибки при запуске приложения. Может кто-нибудь помочь исправить ошибку.

Process: app.errandel.android, PID: 29755
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25

1 Ответ

1 голос
/ 27 апреля 2020

У вас есть два списка данных для извлечения, но вы произвольно извлекаете из обоих списков, используя 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 заявление.

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