2011-06-22 68 views
0

做的話getItemAt()時,我已經把我的數據提供者Bindable這樣:入門[對象對象]在列表

 [Bindable] 
     public var dataProvider:ArrayCollection; 

     public function init():void{ 

      dataProvider = new ArrayCollection(
       [{label:"x"}, 
        {label:"y"}, 
        {label:"z"}]); 

然後在呼籲一個按鈕的Click事件的功能,我想獲得在特定索引下的項目

private function getmyItem(event:Event):void { 
       trace(dataProvider.length); 
       trace(dataProvider.getItemAt(1)); 
           //OR 
trace(dataProvider.getItemAt(myList.selectedIndex)); 
} 

但是我在跟蹤中獲得[Object Object]。有人能告訴我什麼是我的代碼的概率?

感謝

回答

1

它沒有任何明顯的你想在trace得到什麼,但我能猜到下面的修復可以解決你的問題:

private function getmyItem(event:Event):void { 
       trace(dataProvider.length); 
       trace(dataProvider.getItemAt(1).label); 
           //OR 
trace(dataProvider.getItemAt(myList.selectedIndex).label); 
} 
+0

Oopss ..我總是想念指定對象名稱:( Thx再次Constantiner – FlexBoz

+0

但是我有一個問題。由於列表包含o f TextInput作爲itemrenderer,如果例如在列表的索引1處,我將textInput中的文本從「abc」修改爲「abcd」,當試圖追溯它時。我仍然得到「abc」 我相信需要在TextInputRenderer中完成特定的需求? – FlexBoz

1
{label:"x"}, 
{label:"y"}, 
{label:"z"} 

這些都是使用{}語法創建的Objects

var obj:Object = {some:"value"}; 
trace(obj); // [object Object] 
2

你的代碼是不完整的

trace(dataProvider.getItemAt(myList.selectedIndex).label); 
trace("your_tilelist_name".dataProvider.getItemAt(myList.selectedIndex).label); 

private function getmyItem(event:Event):void { 
      trace("your_tilelist_name".dataProvider.length); 
      trace("your_tilelist_name".dataProvider.getItemAt(1).label); 
          //OR 
trace("your_tilelist_name".dataProvider.getItemAt(myList.selectedIndex).label); 

}