Эта ошибка возникает из-за этой проблемы.
java.lang.ArrayIndexOutOfBoundsException: length=10; index=10
Ниже приведен код, вызывающий исключение. "keys" - это ArrayList.
for (int i = 0; i < keys.size(); i++) {
if (values[i] != null) {
contentValues.put(keys.get(i), String.valueOf(values[i]));
}
}
Что может вызвать это outOfBoundsException?
ошибка довольно понятна. Индекс, который вы пытаетесь получить, не существует. Java использует индексирование с нулевым индексом. Это означает, что если у вас есть что-то размером 10
, то индексы равны 0-9
В цикле for
вы никогда не проверяете, могут ли values[i]
подняться до 10
; Который, видимо, не может.
По внешнему виду values[]
имеют размер 10
и keys
больше.
Я предполагаю, что ошибка указана в инструкции if
. Как вы знаете, что существуют values[i]
? Вы не итерируете values
, вы повторяете keys
.
Но вы не дали нам достаточной информации, чтобы точно знать. В какой строке это происходит?
values
.