【问题标题】:Flex 4.5 List - ensureIndexIsVisible errorFlex 4.5 列表 - ensureIndexIsVisible 错误
【发布时间】:2012-03-17 19:49:35
【问题描述】:

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

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

实际崩溃的行是这样的: var block:Block = blockTable[index >> BLOCK_SHIFT]; 来自名为 getMajorSize 的函数

【问题讨论】:

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


    【解决方案1】:

    由于这个问题已经很久没有答案了,我想我会用我最近最终做的事情来回答这个问题。

    我主要通过更改调用函数的点来解决此问题。即它被调用得太早了。

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

    可以在这个问题上找到该函数,称为scrollToIndex: Scroll to selected item in Flex 4 Spark List component

    【讨论】:

    • ...但是你什么时候调用它来让它工作的呢?我的意思是该死的,一旦所有的布局都完成了,如果有一些事件会被触发,那就太好了。我刚刚错过了什么明显的东西吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 2011-08-21
      相关资源
      最近更新 更多