我经常遇到使用中继器的麻烦。我尽量避免使用它们,因为它们看起来不可预测,并且它们使用大量内存,因为它们一次构建所有包含的项目,而不是延迟显示它们。
你可以尝试使用列表使用自定义的ItemRenderer,这样的事情:
<mx:List id="lstQuestions" dataProvider="{QuestionsXMLList}"
itemRenderer="full.path.to.CustomListItemRenderer" />
CustomListItemRenderer:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:CheckBox id="checkBox" label="{expo.name}"
visible="{[email protected]}"
includeInLayout="{[email protected]}" />
<mx:Script>
<![CDATA[
[Bindable]
private var question:QuestionXMLListItem;
public override function set data(value:Object):void
{
question = QuestionXMLListItem(value);
}
public override function get data():Object
{
return question;
}
]]>
</mx:Script>
</HBox>
您可以使用CSS来给列表相同的外观和感觉中继器会得到。
发布的数据提供者的结构 – Amarghosh 2009-11-20 04:43:59