这是一个简单的代码。如何在不使用“getItemAt()”方法的情况下获取值。
import fl.controls.List ;
import fl.data.DataProvider ;
import flash.utils.describeType;
var a_Lst:List ;
a_Lst.addItem({label:"a"});
a_Lst.addItem({label:"b"});
trace(a_Lst.dataProvider) //OUTPUT: DataProvider [[object Object] , [object Object]]
trace(a_Lst.dataProvider.getItemAt(0)); //<< GET THE VALUE "a"
trace(a_Lst.dataProvider[0]); //<< DON'T GET THE VALUE
for ( var a:String in a_Lst.dataProvider )
{
trace( a) ;// << DON'T GET ANY VALUE
}
for each ( var b:String in a_Lst.dataProvider )
{
trace( b) ;// << DON'T GET ANY VALUE
}
答案 0 :(得分:0)
试试这个:
function show(list : List):void
{
for (var i : uint = 0; i < list.length; i++)
{
trace(list.dataProvider.getItemAt(i).label);
}
}