私はmxmlでリストを持っています。ユーザーがリスト内の項目を長押ししたときに、メニューを表示する必要があります。メニューには、押された項目に対する何らかのアクションが表示されます。Mouse DownイベントのFlex Listのリストへの参照を取得する方法
また、押された項目をリスト内の選択した項目にする必要があります。だから私はリストへの参照が必要です。私は通常の方法でリストにアクセスすることができないので、私はこれをしました:
どれが当惑していますか。私はリストへの参照を得るためのより良い方法を探しています。私はよく分からないが、ちょうどトリックを行うのitemRendererのれるonmousedownで選択したプロパティを設定しません
<s:List id="catList" x="0" y="0" width="100%" height="100%" click="selectItemHandler(event)">
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer
styleName="labelFontStyle"
messageStyleName="descriptionFontStyle"
labelField="labelField"
messageField="descriptionField"
dataChange="onDataChange(event)"
mouseDown="onMouseDown(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function onMouseDown(event:MouseEvent):void
{
try
{
var tg:Object = event.target;
var selectedItem:Object = event.currentTarget.data;
if (selectedItem != null)
{
// Here I need to set the selectedItem property of
// the owning list.
// I don't know how to get to the list so I did this.
var list:Object = event.currentTarget.parent.parent.parent.parent.parent;
list.selectedItem = selectedItem;
}
} catch (e:Error) {}
}
]]>
</fx:Script>
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
リストはmxmlファイルの最上位オブジェクトですか? – CyanAngel
@CyanAngel、ルートオブジェクトは、リストが動作したときにビュー – Asimov