【发布时间】:2011-12-01 03:34:32
【问题描述】:
我正在使用 flex-4-tree (https://github.com/wasbridge/flex-4-tree) 在手机 AIR 应用中。
树类:
public class Tree extends List
{
...
dataSource.addEventListener(TreeEvent.NODE_EXPANDED, nodeExpandedHandler);
dataSource.addEventListener(TreeEvent.NODE_COLLAPSED, nodeCollapsedHandler);
...
}
应用程序的主屏幕上有一个菜单。 如果用户选择了一个菜单项,就会采取适当的行动, 但是如果用户通过选择扩展器图标来展开/折叠菜单项, 菜单项被展开/折叠。
目前列表更改事件是在 flex-4-tree 展开/折叠事件。
我需要先收到 flex-4-tree 展开/折叠事件 列表更改事件。
任何帮助将不胜感激。
【问题讨论】:
-
事件发生时发生,您不能更改它们的顺序。这就好比说我希望我的水在加热之前沸腾。
-
@Laurent 如果您可以控制源代码,则可以轻松更改调度事件的顺序;尽管在这种情况下,这样的工作听起来并不容易,因为他正在处理使用 Flex 框架代码。我会考虑一种不同的方式来在相关事件处理程序中对您的操作进行排队。
-
@www.Flextras.com,他的问题确实是如何更改第三方库的事件顺序,而这无法做到(只是没有意义)。他确实可以破解源代码,但他可能会在此过程中产生许多其他问题。很可能他只需要在第一个事件处理程序中设置一些布尔值,然后在第二个事件处理程序中检查这个布尔值并在它打开时做一些事情。
-
不管怎样,依赖Event执行顺序是邪恶的做法。
-
这个的最终目标是什么?有时我们想到的第一种方法(可能是幼稚的,而不是邪恶的)并不是行之有效的方法。
标签: actionscript-3 apache-flex events list