无法选择自定义项呈示器(flex)

时间:2009-07-25 00:29:02

标签: flex flex3

您好我在mxml中制作了以下项目渲染器,但是当我因为某些原因在列表中使用它时,我无法选择它。 我做错了吗?

<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalScrollPolicy="off">
<mx:Script>
<![CDATA[
import com.pbsmedia.kanpeki.domain.calEvent.CalEventType;
[Bindable]
private var calEventType:CalEventType;
override public function set data(value:Object):void
{
if(value != null)
{
calEventType = value as CalEventType;
colorBar.setStyle("backgroundColor", calEventType.eventColor);
}
}
]]>
</mx:Script>
<mx:Image source="{calEventType.icon}" />
<mx:Label text="{calEventType.name}" selectable="true"/>
<mx:HBox height="100%" width="100%" horizontalAlign="right" paddingRight="20">
<mx:Box id="colorBar" width="50" height="100%" >
</mx:Box>

渲染器在创建完成时设置列表的父组件为 如下:

private function cc():void{
if(_itemRenderer != null)
{
lt.itemRenderer = getItemRendererFactory();
}
}
private function getItemRendererFactory():ClassFactory
{
return new ClassFactory(_itemRenderer);
}

我看不出有什么理由不能选择它,任何指针都非常赞赏。

2 个答案:

答案 0 :(得分:2)

对此进行排序。我忘了在覆盖中调用super.data = value。

答案 1 :(得分:0)

不要为自定义渲染器扩展HBox,而是直接延长ListItemRendererCanvas

顺便说一句,我会假设你在这个问题上贴错了,因为你是从

开始的
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" horizontalScrollPolicy="off">

..并以:结束:

</mx:Box>