У меня есть Spark List (spark.components.List
), поддерживаемый ArrayCollection для своего dataProvider.Список имеет вертикальную полосу прокрутки, когда слишком много строк для отображения.То, что я хочу, - это когда новая строка добавляется в список для ее прокрутки вниз, чтобы показать эту новую строку.
Я пытался вызвать ensureIndexIsVisible
в List из прослушивателя ArrayCollection.Это не работает, потому что список еще не полностью отрисовал новую строку.Он будет либо прокручиваться до второй из последней строки, либо выдавать исключение:
Error: invalidIndex
at spark.layouts.supportClasses::LinearLayoutVector/start()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\layouts\supportClasses\LinearLayoutVector.as:893]
at spark.layouts.supportClasses::LinearLayoutVector/getBounds()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\layouts\supportClasses\LinearLayoutVector.as:1117]
at spark.layouts::VerticalLayout/getElementBounds()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\layouts\VerticalLayout.as:852]
at spark.layouts.supportClasses::LayoutBase/http://www.adobe.com/2006/flex/mx/internal::getScrollPositionDeltaToElementHelper()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\layouts\supportClasses\LayoutBase.as:1367]
at spark.layouts.supportClasses::LayoutBase/getScrollPositionDeltaToElement()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\layouts\supportClasses\LayoutBase.as:1348]
at spark.components::List/ensureIndexIsVisible()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\List.as:2105]
Я убедился, что мой слушатель добавлен в ArrayCollection после установки dataProvider в List.Надеюсь, я позвоню ensureIndexIsVisible
после того, как у List появится возможность обработать новый ряд.Я предполагаю, что List не отображает строку до некоторого события перерисовки, которое происходит позже (после того, как я позвонил ensureIndexIsVisible
).
Я также попытался указать VerticalLayout
и установить его verticalScrollPosition
слишком большое число (например, 99999).У него та же проблема - он прокручивается до второй из последней строки.
Итак, есть ли способ прокрутки до новой добавленной строки в списке искр?Единственное, что я мог найти в Интернете, - это плохо отформатированный поток флекскодеров .