Flex Mobile s:列表项单击标注
灵活的家伙我有一个小问题,需要一些来自专业人士的建议。 我在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>
有什么建议么?
我已经解决了在CalloutButton组件下添加所有标注内容的问题 - 看起来Adobe团队仅在标注按钮的情况下考虑了这些情况 - 动态创建类似上述场景的标注会崩溃 。
链接地址: http://www.djcxy.com/p/34663.html