【问题标题】:Flex Spark List LabelItemRenderer remove selection when other list item enters down stateFlex Spark List LabelItemRenderer 在其他列表项进入关闭状态时删除选择
【发布时间】:2012-05-20 00:39:56
【问题描述】:

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

该列表的默认行为是,只有当另一个项目进入选定状态时,一个项目才会失去其选择颜色。这意味着当用户在某个项目上保持向下状态(通过鼠标按下或点击并按住)时,两个项目显示选择颜色,一个仍处于选中状态,一个当前处于向下状态。

我需要的是,一旦另一个项目进入向下状态,选定的项目就会失去它们的选择颜色/状态,所以基本上只要进入向下状态就需要设置选择状态。

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

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

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

【问题讨论】:

  • 我认为 Flex 中没有“长按”事件,是吗?你在使用第三个手势/触摸库吗?还是你自己推出的?
  • 我正在使用 org.gestouch 库来添加长按手势。效果很好。

标签: actionscript-3 apache-flex mobile flex4 itemrenderer


【解决方案1】:

由于您使用的是LabelItemRenderer,我假设您正在构建一个移动应用程序。这是一种猜测;但是……

能否在 itemRenderer 中添加长按事件处理程序,并在事件处理程序中更改 itemRenderer 的selected 属性?

不过,我不确定 itemRenderer 中的此类更改是否也会更改实际列表。理论上不应该。

除此之外,如果您的 Long Press 事件从 itemRenderer 中弹出,您可以在 List 类上收听它并以这种方式更改 selectedItem,然后再弹出新菜单。

【讨论】:

  • 是的,这是针对移动应用程序的。你的建议听起来很有希望。不过,我得等到下周一才能试一试。下周将尽快报告!
  • 按预期工作。谢谢老哥!
猜你喜欢
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-15
  • 1970-01-01
相关资源
最近更新 更多