属性很多,但是常用的就那些吧。官网给出的例子很详细了,不多说。
类似安卓的list。要有单元格(就想适配器一样)。
list.itemRender =Item; //设置列表渲染单元格为Item类(注:必须是类,不能是实例化对象,Item需类继承于Box)
list.renderHandler = new Handler(this, updateItem);//渲染单元格时的回调方法
list.array = data; //为列表赋值
Laya.stage.addChild(list); //加载到舞台
/***渲染单元格时的回调方法***/
private function updateItem(cell:Item, index:int):void
{
//用获得的数据给图片更换皮肤
cell.img.skin=cell.dataSource;
}
这个渲染单元格事的回调方法里面的item让我比较费解。我们可以看到代码只要那样写了,数据就会被渲染出来。
但是我并没有看到数据赋值给item的操作。只有 list.array = data;
后来多看了几遍代码,发现:一开始 list.itemRender =Item; 把item传给了list的itemRender。
后来list.array = data; 我想应该是渲染的时候。内部做了把data数据传给item的操作了。。额。
然后在记一下获取每一个单元格的监听事件:
list.selectEnable = true;//设置为可以选择
list.selectHandler = new Handler(this, onSelect); //选择单元格时回调方法
/***选择单元格回调***/
private function onSelect(index:int):void
{
var obj:Object= list.getItem(index) //获取单元格数据源。index为当前选择的索引
var xx:String=obj [0]; //获取数据源对应的值
}
网友评论