我在 Flex 移动应用程序(部署在 iOS 和 Android 上)中实现 Spark 列表时遇到了一个非常严重的问题。问题是,当一个项目被触摸时,列表选择并不总是有效。实际上,有时down
状态已设置,但该项目从未被选中,而是先前选择的项目保持选中状态。
通过List
andListBase
类,我发现我的列表确实收到了鼠标/触摸事件。List
's确实被解雇了,实际上对于item_mouseDownHandler
正确提交的选择和没有正确提交的选择表现相同。到目前为止,我发现的不同之处在于,对于不成功的选择,永远不会调用该commitProperties
方法(属于),因此,也不会调用's ,从而导致选择不会改变。ListBase
List
commitSelection
有没有人更深入地了解为什么这不起作用?我会非常感谢任何帮助,因为我没有看到我自己解决这个问题。
对于想要重现该问题的任何人,请设置一个 Flex 移动项目并添加一个列表以使用简单的内联渲染器和一些通用对象进行查看,如下所示:
<s:List id="myList" width="100%" height="100%">
<s:dataProvider>
<s:ArrayCollection>
<fx:Object label="Item1" />
.....
<fx:Object label="Item30" />
</s:ArrayCollection>
</s:dataProvider>
</s:List>
然后用手指在设备上随机选择项目,看看会发生什么,即使你触摸屏幕也没有选择项目,有时会出现向下的颜色。
编辑:哦,不要专注于 3 outta 4,你必须多尝试 4 次才能看到问题,但我猜大约 75% 是一个不错的估计。
Edit2:由于其他人显然遇到了同样的问题,我在 Flex Jira 中提交了一个错误报告: https ://issues.apache.org/jira/browse/FLEX-33169