0

私は次の問題を抱えています:

説明:

ボタンとスパークリスト(spark.components.List)のあるページがあります。ボタンをクリックすると、リスト内のすべての要素のラベルが変更されます。

リストはカスタムアイテムレンダラーを使用してデータを表示します(レンダラーはスパークアイテムレンダラーです:s:ItemRendererであり、表示されるデータはデータベースからのものです)。

ボタンをクリックすると、イベント「button_clicked」がディスパッチされます。このイベントは、カスタムアイテムレンダラーのすべての要素によってリッスンされる必要があります。

レンダラーには、「button_clicked」イベントをリッスンする必要がある次の関数があります。

public function init():void 
{
this.addEventListener("button_clicked", button_clicked);
}

public function button_clicked(event:Event):void 
{
mdm.Dialogs.prompt("Button clicked event dispatched");
}

問題: メソッド「button_clicked」は実行されません。これは、イベントがアイテムレンダラーでリッスンされないことを意味します。

親でイベントをディスパッチし、ItemRendererオブジェクトでそれをリッスンする方法を理解するのに役立つ人。

ありがとう

4

1 に答える 1

0

関連する質問から:

レンダラーの init() では、イベント リスナーをレンダラーではなく、イベントをディスパッチするコンテナーに追加する必要があります。

例:

container.addEventListener(Container.SELECT_ALL_USERS, selectAllHandler, false, 0, true);
于 2011-04-13T16:05:30.160 に答える