你好,谁愿意帮助我。
我正在尝试实现这个例子: http ://ramblingdeveloper.com/ramblings/2011/9/24/creating-a-flex-spark-list-of-checkbox-bound-to-xml-dataprov.html
我的示例与我相应地修改了整个代码的一些小差异几乎相同。
我的 MXML 应用程序:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<fx:XML format="e4x" id="namesXML">
<people>
<person>
<name>Leon</name>
</person>
<person>
<name>Mathilda</name>
</person>
<person>
<name>Stansfield</name>
</person>
<person>
<name>Benny</name>
</person>
</people>
</fx:XML>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
var temp:XMLListCollection = new XMLListCollection(namesXML.children());
]]>
</fx:Script>
<s:List itemRenderer="CheckBoxItemRenderer"
dataProvider="{temp}"/>
和我的 MXML ItemRenderer:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
<s:CheckBox label="{data.person.name}"/>
</s:ItemRenderer>
我不断得到一个空对象引用,并且一直在搞乱我认为问题出在哪里:
<s:CheckBox label="{data.person.name}"/>
这就是我访问 XML 数据的方式,但我不能 100% 确定,因为 XML 和 XML 遍历不是我的强项。当我坐下来不断调整它以获得突破时,任何小的洞察力都会有所帮助。
编辑:修复了 ItemRenderer 代码,缺少结束标记。编辑#2:我的 ItemRenderer 文件的名称是 CheckBoxItemRenderer ,就像示例一样。