Список Flex 4.5 - ошибка гарантированного индекса - PullRequest
2 голосов
/ 28 февраля 2012

В моем приложении у меня есть список элементов, которые можно изменить, щелкнув по списку, используя кнопку «следующий / предыдущий» или через меню, которое позволяет им переключаться между элементами (в основном для версии телефона, которая не отобразить список).

Я использую функцию sureIndexIsVisible после заполнения провайдера данных для списка. Однако иногда, когда я возвращаюсь на эту страницу, приложение вылетает со следующей ошибкой:

RangeError: Error #1125: The index 0 is out of range 0.
at spark.layouts.supportClasses::LinearLayoutVector/getMajorSize()[E:\dev\4.y\frameworks\projects\spark\src\spark\layouts\supportClasses\LinearLayoutVector.as:420]

Странно то, что индекс, который я передаю в функцию, когда она падает, не равен 0. Это может быть 1 или 3 или, вероятно, что угодно. Я могу остановить сбой приложения, если удаляю вызов функции, но мне нужен список, чтобы показать, какой вопрос выбран в данный момент.

Фактическая сбойная строка такова: var block:Block = blockTable[index >> BLOCK_SHIFT]; из функции getMajorSize

Ответы [ 2 ]

1 голос
/ 28 сентября 2012

Поскольку это так долго не оставалось без ответа, я подумал, что сам отвечу на это тем, что недавно сделал.

Мне удалось решить эту проблему, главным образом изменив точки, где я вызывал функцию. то есть его называли слишком рано.

Однако недавно я переключился на использование пользовательской функции, которую кто-то опубликовал, когда обнаружил, что sureIndexIsVisible часто переходит на неправильную позицию в списке (из-за различий в высоте элементов).

Функция находится по этому вопросу и называется scrollToIndex: Прокрутка до выбранного элемента в Flex 4 Spark List

0 голосов
/ 03 сентября 2014

Эта ошибка связана с FLEX-28291 , которая должна быть исправлена ​​в следующей версии Apache Flex (вероятно, 4.14).

...