flex移动的下拉列表。以编程方式检测用户按下的位置并设置selectedItem

时间:2012-11-02 19:45:12

标签: actionscript-3 flex flash-builder

我正在尝试使用Flex Mobile上的下拉列表。现在,我从技术上知道你不应该将它用于Flex Mobile项目。 Adobe不鼓励使用它,但我的应用程序需要它。这是我尝试过的 -

    <s:DropDownList id="industry" width="160" height="35"
                                    change="onDropDownChange(event)"  click="onDropDownClick(event)"/>



protected function onDropDownIndexChange(event:IndexChangeEvent):void
                {   //removeEventListener(event:IndexChangeEvent);
                    industry.selectedIndex =industry.selectedItem;
                }

protected function onDropDownClick(event:Event):void {
                    industry.openDropDown();
                    //industry.selectedItem=industry.selectedIndex ;
                    industry.addEventListener(IndexChangeEvent.CHANGE, onDropDownIndexChange );
                }

protected function onDropDownChange(event:IndexChangeEvent):void {


                trace(industry.selectedIndex);
                trace(industry.selectedItem);
                event.target.listData = industry.selectedItem;
}

我无法在下拉菜单中注册点击。我不知道如何检测菜单上的触摸(或点击)事件来设置它。感谢阅读和所有帮助。

1 个答案:

答案 0 :(得分:2)

冒着自我放纵的风险;使用Flextras Mobile DropDownList。它是免费的生产用途(但如果你想要源或帮助你必须支付)。

这是我们的web based sample。我们有一些不同的渲染器和皮肤。为了使DropDown看起来像标准的移动下拉菜单,我们建议使用单选按钮渲染器和我们的弹出式皮肤2.

Flex的默认DropDown列表存在触摸交互问题,尤其是在单击下拉列表时。要创建自己的版本,您必须解决这些问题。我们创建了一堆自定义皮肤,并添加了一些额外的属性/样式。