1

セットアップ:

ログイン パネルとメイン パネルのビュースタックを表示するメイン mxml ファイルを用意します。メイン パネル内には、フォーム パネルとリスト パネルの 2 つのパネルがあります。

起動時に、アプリケーション メディエーターとログイン メディエーターは、それぞれアプリケーション パネルとログイン パネルにアタッチされます。login_successful イベントで、アプリケーション メディエーターはメイン パネル メディエーターをメイン パネルに接続します。次に、メイン パネル メディエーターがフォーム パネルとリスト パネルのメディエーターをアタッチします。

問題:

フォーム パネルとリスト パネルのメディエーターをメイン パネル メディエーターに登録する場合、メイン パネルからの (リスト/フォーム パネルへの) ビュー コンポーネントの参照が null です。メイン パネル メディエーターからフォーム パネルへの参照は null です。同じことがリスト パネルにも当てはまります。その理由は、フォームとリストのパネルがまだレンダリングされていないため、null になるためです。

パネルを熱心にロードする方法はありますか? または、リスナーをアタッチして、パネルが作成された後にレジスタメディエーターを呼び出すように設計するより良い方法はありますか?

申し訳ありませんが、flex にはまったく新しいので、このような同様の問題に遭遇した人へのフィードバックは大歓迎です。

4

1 に答える 1

5

ViewStack のcreationPolicyを「all」に設定して、起動時にメイン パネルを強制的に初期化することができます。

別の方法として、メイン パネルの creationComplete イベントでフォームとリストのメディエーターをアタッチすることもできます。その時点で、フォームとリストが初期化されていることがわかります。

creationPolicy プロパティの詳細については、http: //livedocs.adobe.com/flex/3/html/layoutperformance_05.htmlを参照してください。

于 2009-04-01T00:08:18.360 に答える