Как обнаружить щелчок по элементу в середине SpinnerList?
т.е. типичная ситуация - когда пользователь прокручивает SpinnerList, пока нужный элемент не окажется в середине, и после этого нажимает на него?
Когда я просто добавляю обработчик события click
, я также неправильно определяю ситуации, когда пользователь просто щелкает какой-либо элемент, чтобы он отображался посередине, как показано на этом снимке экрана:
Ниже приведен код моего тестового примера.
Любые предложения, пожалуйста? Я также пытался использовать собственный SpinnerListItemRenderer
и добавить туда обработчик кликов, но это не меняет проблему, описанную выше.
Main.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>