显示闪存列表控件CS6内的复选框

时间:2014-02-24 13:55:39

标签: actionscript-3 flash flash-cs6

我想使用Flash Pro CS6在闪存列表控件中实现复选框。我完全按照Adobe Work with a CellRenderer提供的示例进行操作。我的.fla文件中唯一的代码是:

myList.setStyle("cellRenderer", CustomCellRenderer); 
myList.addItem({label:"Burger -- $5.95"}); 
myList.addItem({label:"Fries -- $1.95"});

并且CustomCellRenderer.as文件中的唯一代码是(从Adobe示例中复制粘贴):

package 
{ 
    import fl.controls.CheckBox; 
    import fl.controls.listClasses.ICellRenderer; 
    import fl.controls.listClasses.ListData; 
    public class CustomCellRenderer extends CheckBox implements ICellRenderer { 
        private var _listData:ListData; 
        private var _data:Object; 
        public function CustomCellRenderer() { 
        } 
        public function set data(d:Object):void { 
            _data = d; 
            label = d.label; 
        } 
        public function get data():Object { 
            return _data; 
        } 
        public function set listData(ld:ListData):void { 
            _listData = ld; 
        } 
        public function get listData():ListData { 
            return _listData; 
        } 
    } 
}

当我测试电影时,我收到以下错误:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at fl.controls::CheckBox/drawLayout()
    at fl.controls::LabelButton/draw()
    at fl.core::UIComponent/drawNow()
    at fl.controls::List/drawList()
    at fl.controls::List/draw()
    at fl.core::UIComponent/callLaterDispatcher()

非常感谢任何帮助。 附:类似问题Display checkbox inside Flash List Control ? (Similar to item rendering in Flex)的作者似乎没有这个问题 - 他的问题只在于多种选择功能。

答案(不能发布另外8小时的答案,但急于关闭此问题)想出自己:CheckBox组件必须存在于库中。转到菜单Window-> Components->双击CheckBox。复选框将出现在舞台上和库中。从舞台中删除复选框。测试电影。

1 个答案:

答案 0 :(得分:0)

将CheckBox组件的实例拖到舞台上,然后删除舞台。