2011-08-02 73 views
0

我爲Flex Spark List組件創建了一個Item Renderer。 的問題是,這個代碼將無法正常工作:ArrayCollection getItemAt

<s:Label left="10" right="10" top="10" bottom="10" fontSize="13" text="{data.getItemAt(1).toString()}" 
     textAlign="left" verticalAlign="middle"/> 

雖然這段代碼:

<s:Label left="10" right="10" top="10" bottom="10" fontSize="13" text="{data[1].toString}" 
     textAlign="left" verticalAlign="middle"/> 

我不能使用,因爲結合問題以後的代碼。 有沒有人有任何想法我做錯了什麼?

+0

請在您的項目渲染器中顯示所有代碼,並請顯示您收到的數據是什麼。在我看來,這裏有一個沉默的錯誤,因爲發送的數據是一個數組而不是一個ArrayCollection,因此getItemAt函數不起作用並且不會綁定。 –

回答

0

作爲@J_A_X'的評論指出,這是兩個完全不同的東西。

{data.getItemAt(1)... 

引用ArrayCollection或其他可能的其他集合。

{data[1]... 

指的是數組。

試圖將數組視爲數組集合不會讓你走得很遠。我會建議確保列表中的每個項目實際上是一個ArrayCollection。或者,我會更強烈地支持用值對象替換它們,並綁定到「標題」,「文本」或任何更正確地定義您希望顯示的文本的屬性。

{data.title} 
+0

是的,我可能犯了一個錯誤。 'data'是包含數組的ArrayCollection。任何想法如何將嵌套數組轉換爲ArrayCollections? –

+0

數組的arraycollection來自哪裏? –