0

在我的 AIR 应用程序(使用 mate-Framework)中,我做了以下事情:

  1. 点击一个按钮
  2. 在我的模型“onApplicationBusy”中调用一个方法
  3. 在数组集合中应用一些过滤器。

在我的 onApplicationBusy 中有这样的代码:

FlexGlobals.topLevelApplication.enabled = false;
FlexGlobals.topLevelApplication.

我跟踪每一步,所有方法都按正确的顺序调用。但我的应用程序永远不会被禁用。

为什么。有没有为此目的的方法。

我尝试使用 InvalidateDisplayList 或 ValidateNow 或 callLater。但所有尝试都行不通。可能我在错误的地方尝试?

我假设,我的应用程序在应用过滤器(10.000 行的 4 个值)时非常忙,以至于无法处理 disabled 属性。

如果我在不应用过滤器的情况下调用该方法,则一切正常。如果我只调用 disbaled 属性但不再启用该应用程序,则应用过滤器后该应用程序将显示为禁用。对我来说太晚了。

我最初想要的是一个清晰的行为,当应用程序忙时和不忙时(准备点击按钮和所有这些东西)。

如果您可以帮助我或知道一种方法,我该如何显示繁忙的应用程序,请帮助我谢谢弗兰克

4

2 回答 2

0

好的,setTimeout 方法解决了我的问题。我想,我必须等待下一次屏幕刷新。

为什么 callLater 不起作用以及当我必须实现这些功能时,因为我的 filterFunction 运行时资源太少?

坦率

于 2011-02-10T08:50:54.817 回答
-1

我正在使用 FlexGlobals.topLevelApplication.stage.mouseChildren = false | 真的;

值得注意的是,我首先尝试设置 mouseEnabled 标志,但发现当 mouseEnabled = false 时各种视觉元素根本不会更新。

于 2011-05-07T17:46:43.343 回答