0

だから、これは私がどこにも良い説明を見つけることができないので、フラッシュアプ​​リケーションにバイナリでオブジェクトの配列を提供するphpサービスを持っています。サービスは mx:list に入力されます。このサービスには、countrycode、citycode、city、および url の 4 つのフィールドがあります。私がする必要があるのは、各オブジェクトの URL を呼び出し、それをこの itemClickHandler にフィードすることです。

protected function citylist_itemClickHandler(event:ListEvent):void
    {
        var data:City = citylist.selectedItem as City;
        navigateToURL(new URLRequest(data.url));

    }

これはオブジェクトとして getCitysResult を持つ mx:list です

    <mx:List includeIn="data" x="28" y="10" width="312" height="255" id="citylist" dataProvider="{getCitysResult.lastResult}" labelField="city" itemClick="citylist_itemClickHandler(event)">
    </mx:List>

私がする必要があるのは、このリストの各行を取得して、マウス クリック用の URL リンクを作成することです

4

1 に答える 1

2

には、クリックされたばかりの行のインデックスを保持ListEventするプロパティrowIndexがあります。このインデックスを使用して、dataProviderから正しい要素を取得できます。

var city:City = cityList.dataProvider.getItemAt(event.rowIndex) as City;
navigateToURL(new URLRequest(city.url));

または、サービス結果オブジェクトに直接(バインドされているため、同じです):

var city:City = getCitysResult.lastResult.getItemAt(event.rowIndex) as City;

(lastResultオブジェクトが配列でない限り:その場合はgetCitysResult.lastResult[event.rowIndex]

または(最短の方法)リストのselectedItemプロパティを使用します。

var city:City = cityList.selectItem as City;
于 2012-09-27T09:32:38.890 に答える