重写IGridItemRenderer.prepare()
功能并做一些事情。
override public function prepare(hasBeenRecycled:Boolean):void
{
cb.selected = grid.selectionContainsIndex(rowIndex);//cb is CheckBox itemrenderer
}
当这个准备函数调用时?多少次?它有什么作用? 调试时我注意到这个方法被不断调用, 通过覆盖此方法是否存在任何性能问题?
答案 0 :(得分:2)
在flex中,项目渲染器由框架自动构建,销毁和回收。它尝试回收以前未使用的对象以节省资源。
当项呈示器受到新行,单元格,对象......的影响时,将调用prepare。
您可以使用它来初始化一些标签,字段......
如果在调试中你注意到“连续调用”,可能是因为以下工作流程: - 项目获得焦点,框架调用prepare() - 您的IDE在方法中停止,然后您的应用程序失去焦点 - 一旦你完成调试,你的应用程序重新获得焦点,然后调用prepare方法, - 等等......
在权威中,要么使用绑定到{data.myFields}来在数据对象受到影响时自动显示值(通过prepare方法静默),否则重写此方法以准备一些显示属性。
在表现方面,一切都应该是相似的。
HIH