Flex 4.5列表 - ensureIndexIsVisible错误

时间:2012-02-28 10:30:42

标签: list actionscript-3 flex flex4.5 flex-spark

在我的应用程序中,我有一个项目列表,可以通过单击列表,使用下一个/上一个按钮或通过允许它们在项目之间跳转的菜单进行更改(主要用于不支持的电话版本)显示列表)。

在填充列表的数据提供程序后,我正在使用ensureIndexIsVisible函数。但是,有时当我返回此页面时,应用程序崩溃并出现以下错误:

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,或者可能是任何东西。如果我删除函数调用但是我需要列表来显示当前选择的问题,我可以阻止应用程序崩溃。

崩溃的实际行是这样的: 来自名为getMajorSize

的函数的var block:Block = blockTable[index >> BLOCK_SHIFT];

2 个答案:

答案 0 :(得分:1)

由于这已经无法回答这么长时间,我以为我会自己回答我最近做的事情。

我设法通过主要更改我调用函数的点来解决此问题。也就是说它太早了。

但是我最近改为使用其他人发布的自定义函数,因为我发现ensureIndexIsVisible经常跳到列表中的错误位置(由于各种高度的物品)。

该功能可在此问题上找到,名为scrollToIndex: Scroll to selected item in Flex 4 Spark List component

答案 1 :(得分:0)

此错误与FLEX-28291有关,应在下一版本的Apache Flex(可能是4.14)中修复。