所以这个让我无法在任何地方找到一个好的解释,所以我有一个php服务,它以二进制形式提供一系列对象回到我的flash应用程序。服务被送入mx:list,服务有4个字段 countrycode,citycode,city和url。我需要做的是调用每个对象的url并将其提供给这个itemClickHandler这是我试过的另外两个关于RIAstar的答案我在这里做错了什么?,
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>
我需要做的是让这个列表的每一行都有一个鼠标点击链接
答案 0 :(得分: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]
)
或(最短路)使用List的selectedItem属性:
var city:City = cityList.selectItem as City;