0

私のAIRアプリケーション(mate-Frameworkを使用)では、次のことを行いました:

  1. ボタンをクリック
  2. モデル「onApplicationBusy」のメソッドを呼び出します
  3. arraycollections にフィルターを適用します。

私の onApplicationBusy には、次のコードがあります。

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

すべてのステップをトレースし、すべてのメソッドが正しい順序で呼び出されます。しかし、私のアプリケーションが無効になることはありません。

どうして。この目的のための方法はありますか。

InvalidateDisplayList または ValidateNow または callLater を試します。しかし、すべての試みがうまくいくわけではありません。おそらく私は間違った場所でそれを試していますか?

フィルター (10,000 行に 4 つの値) を適用している間、アプリケーションが非常にビジーで、disabled プロパティを処理できないと思います。

フィルターを適用せずにメソッドを呼び出すと、すべて正常に動作します。無効化されたプロパティだけを呼び出してアプリを再度有効にしないと、フィルターを適用した後にアプリが無効として表示されます。私には遅すぎる。

私が最初に望んでいるのは、アプリがビジーなときとそうでないとき(ボタンやこれらすべてをクリックする準備ができているとき)の明確な動作です。

あなたが私を助けることができるか、方法を知っているなら、どうすれば忙しいアプリケーションを表示できますか、私を助けてください ありがとう フランク

4

2 に答える 2

0

了解しました。setTimeoutメソッドで問題が解決しました。次の画面の更新を待たなければならないと思います。

filterFunctionの実行中にリソースが少なすぎるため、callLaterが機能しないのはなぜですか。また、これらの関数を実装する必要がある場合はどうすればよいですか。

フランク

于 2011-02-10T08:50:54.817 に答える