我在 TileList 中遇到了 itemRenderers 的奇怪问题。
这是一个没有 itemRenderer 的工作示例:152.org/flex/
这是带有 itemRenderer 的损坏版本:152.org/brokenExample/
(我没有代表将这两个都设为链接)
这两个示例都启用了“查看源代码”。
要查看问题,请使用损坏的示例,选择一个相册并向下滚动一行。向上滚动,图像将被切换。如果您在工作示例上尝试此操作,那很好。
这似乎是一个广为人知的错误,但我找不到解决方案。
更新
我再次开始玩这个例子并发现了其他东西。事实证明,您不必覆盖数据设置器。您可以在 itemRenderer 中创建一个新方法,该方法在磁贴想要刷新时设置。所以诀窍是不要依赖于 initialize 或 creationComplete 方法。
这就是我在应用程序中为 itemRenderer 所拥有的。
<itemRenderers:ImageTile img="{data}"/>
这是我在 itemRenderer 中的代码。
public function set img(value:String) : void {
trace("setting source: " + value);
this.source = value;
this.name = value.toString().split("/").pop().split(".").shift();
}
我更新了我的示例以反映此更改。