【问题标题】:AIR Application enabled=false not processed (Busyindicator)AIR Application enabled=false 未处理(Busyindicator)
【发布时间】:2011-06-22 06:01:38
【问题描述】:

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

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

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

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

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

为什么。有没有办法达到这个目的。

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

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

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

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

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

【问题讨论】:

    标签: apache-flex flex4 busyindicator


    【解决方案1】:

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

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

    弗兰克

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        • 2021-01-14
        • 2019-11-13
        相关资源
        最近更新 更多