Flex TileList itemrenderer + scroll = HELL

时间:2011-07-05 23:33:57

标签: flex itemrenderer tilelist

我对这个问题感到疯狂。基本上,我有一个TileList,其中包含一个TextInput的自定义项呈示器。假设列表一次可以显示4个项目,如果有5个项目,我在第一个项目上编辑文本,第五个项目也将被编辑。一般情况下,如果某个项目不在视野范围内,则在我编辑正在显示的项目时会发生变化。

另外,我重写了TileList类以公开rendererArray属性(这样我可以访问每个渲染器上的文本),但它只会返回显示的渲染器。

感谢任何帮助。我需要知道如何使用当前未显示的itemrenderers覆盖这种奇怪的行为。感谢。

1 个答案:

答案 0 :(得分:1)

好的,如果有人遇到类似的问题,这就是你需要做的事情:

首先,避免尝试像我一样迭代itemrenderers。如果您需要在TileList上使用TextInput或其他控件,请确保这些控件绑定到数据对象上的属性,否则屏幕外项目将具有不正确的值,因为它们的itemrenderer将从离开屏幕的项目中回收你滚动了。

如果您认真考虑,可以通过遍历数据提供者而不是逐项提交者来解决任何要求。

此外,如果您尝试像我一样公开rendererArray属性,请注意您只能遍历当前显示的itemrenderer,因为那些属于屏幕外项目的那些将不会创造了。

我希望这不会太混乱..