我正在动态创建一个IList,用作Flex中DropDownList的数据提供者。
代码正确地创建了IList,我可以很好地访问里面的数据。
但是,当我为DropDownList设置dataprovider时,它只显示列表中每个项目的空白条目。
所以,如果我的IList中有30个项目,我的下拉列表中会有30个空白点。
这是我正在使用的代码。
categoryXML = new XML(loader.data);
for each(var category in categoryXML.category) {
categoryArr.addItem(category.name);
}
categoryList = categoryArr;
cats2.dataProvider = categoryList;
是什么导致这个?我似乎无法通过谷歌找到任何东西。
答案 0 :(得分:0)
如果不查看实际数据,很难说清楚。但是,看起来你正在创建一个字符串数组。我不知道Spark列表如何处理简单值。
您可以尝试这样的事情:
for each(var category in categoryXML.category) {
var newObject : Object = new Object();
newObject.label = category.name;
categoryArr.addItem(newObject.);
}
但是,如果category.name是一个复杂的XML对象,那么您可能需要创建一个labelFunction。像这样:
public myLabelFunction(item:Object):String{
return item.valueToDisplay;
}
并将其设置在列表中:
myList.labelFunction = myLabelFunction;