Flex Spark List LabelItemRenderer在其他列表项进入down状态时删除选择

时间:2012-05-11 12:03:44

标签: actionscript-3 flex mobile flex4 itemrenderer

具有移动主题的Spark列表有一种奇怪的行为,我需要禁用它以支持上下文菜单。

该列表的默认行为是,当另一个项目进入选定状态时,项目仅会丢失其选择颜色。这意味着,当用户在某个项目上保持关闭状态时(通过鼠标按下或点按并保持),两个项目显示选择颜色,仍然选择的颜色,以及具有关闭状态的当前颜色。

我需要的是,一旦其他项目进入关闭状态,所选项目就会失去其选择颜色/状态,所以基本上只要输入了关闭状态就需要设置选择状态。

为什么我需要这个你可能会问,让我解释一下; 我的列表需要一个上下文菜单,该菜单将在长按时打开。并且由于在长按事件被触发之前长按不包括鼠标按下事件,该项目将不会被选中,因此其他项目不会丢失其选择颜色。

我的itemRenderer是用AS编写的标准LabelItemRenderer,在ItemRenderer中更改此功能会很棒,而不是父组件。

有没有人知道如何做到这一点?

1 个答案:

答案 0 :(得分:1)

由于您使用的是LabelItemRenderer,我认为您正在制作移动应用。这是一种猜测;但...

您可以向itemRenderer添加Long Press事件处理程序,并在事件处理程序中更改itemRenderer的selected属性吗?

我不确定itemRenderer中的这种更改是否也会更改实际的List。理论上它不应该。

除此之外,如果您的Long Press事件从itemRenderer冒泡,您可以在List类上收听它,并在弹出新菜单之前更改selectedItem。