灵活的家伙 我有一个小问题,需要 flex 专业人士的一些建议。我的 flex 移动项目中有一个 Spark List 组件,当用户单击列表项时,我添加了一个 Callout 组件 - 它会生成一个新的标注组件并打开它。但在我的情况下(我已经在 iPad 上测试过),当用户单击列表时它可以工作,但是当用户在列表上双击(在列表双倍处)时它会崩溃 - 这是因为当用户创建和添加事件侦听器到标注组件等时双击列表它会尝试创建一个标注,同时在触发 MOUSE_DOWN_OUTSIDE 时关闭它(在模拟器中不是这种情况,因为 CPU 性能更好)。那么我怎样才能将它构造为无错误 - 或标注的任何更好的优势来显示列表项的详细信息。这是我的代码:
<fx:Script>
<![CDATA[
public var clInfo:Callout;
protected function lst_tetkikler_clickHandler(event:MouseEvent):void
{
if(lst_tetkikler.selectedItem != null){
clInfo = new Callout();
clInfo.width = 400;
clInfo.setStyle("contentBackgroundColor",0xf8eabd);
lbl_adet.text = lst_tetkikler.selectedItem['adet'];
lbl_puan.text = lst_tetkikler.selectedItem['puan'];
clInfo.addElement(vg_info);
clInfo.verticalPosition = "after";
clInfo.open(lst_tetkikler.dataGroup.getElementAt(lst_tetkikler.selectedIndex) as DisplayObjectContainer,true);
clInfo.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, closeComponent);
}
}
protected function closeComponent(event:FlexMouseEvent):void
{
if(clInfo){
clInfo.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, closeComponent);
clInfo.close();
clInfo = null;
}
}
]]>
</fx:Script>
<s:List id="lst_tetkikler" width="100%" height="50%"
dataProvider="{listTetkik}" contentBackgroundAlpha="0"
visible="{!(listTetkik.length==0)}"
labelField="tetAdi" color="#314F83"
click="lst_tetkikler_clickHandler(event)"
>
</s:List>
有什么建议么?