如何检测SpinnerList控件中间的项目的点击?
即典型情况 - 当用户滚动 SpinnerList 时,直到所需项目位于中间,然后单击它?
当我只是添加一个click
事件处理程序时,我也会错误地检测到这种情况,当用户只是单击某个项目以使其显示在中间时,如下截图所示:
下面是我的测试用例代码。
请问有什么建议吗?我也尝试使用自定义SpinnerListItemRenderer
并在那里添加点击处理程序,但它并没有改变上述问题。
主要.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
firstView="views.MainHomeView">
</s:ViewNavigatorApplication>
意见/MainHomeView.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
title="How to detect a click?">
<fx:Script>
<![CDATA[
import mx.collections.ArrayList;
private function handleClick(event:Event):void {
trace('selectedItem: ' + _list.selectedItem);
}
]]>
</fx:Script>
<s:SpinnerListContainer>
<s:SpinnerList id="_list"
click="handleClick(event)"
typicalItem="45"
dataProvider="{new ArrayList([1,5,6,10,15,30])}"
wrapElements="false"/>
</s:SpinnerListContainer>
</s:View>