flex tree itemclick itemdoubleclick 问题

siy020513 2010-02-08 03:42:35
RT 同时注册了 itemclick itemdoubleclick 方法,但我想在双击的时候不调用单击方法
请教大虾有什么好的办法啊
谢谢了
...全文
303 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
KG1898 2010-05-11
  • 打赏
  • 举报
回复
跪求处理方法~~~~~~
huangxin5257 2010-02-11
  • 打赏
  • 举报
回复
如果实在处理麻烦,就把其中的一个事件,换成一个按钮去调用吧。
huangxin5257 2010-02-09
  • 打赏
  • 举报
回复
引用 4 楼 mayuanfei 的回复:
恩,看似简单的问题往往实现起来比较困难。我给你实现了,你看看效果:
XML code<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplicationxmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"><mx:Script><![CDATA[
import mx.events.ListEvent;
[Bindable]
private var xml:XML = <nodes>
<node name="节点1" desc="第一个节点"/>
<node name="节点2" desc="第二个节点"/>
<node name="节点3" desc="第三个节点"/>
</nodes>;

private var isDoubleClick:Boolean = false;//是否为双击

private function handleItemClick(evt:*):void
{
isDoubleClick = false;
var timer:Timer = new Timer(200, 1);
timer.start();
timer.addEventListener(TimerEvent.TIMER, handleClickOrDoubleClick);

}

private function handleItemDoubleClick(evt:*):void
{
isDoubleClick = true;
}

private function handleClickOrDoubleClick(evt:*):void
{
if(isDoubleClick) {
this.descLabel.text = this.myTree.selectedItem.@desc;
}else {
this.descLabel.text = this.myTree.selectedItem.@name;
}
}]]></mx:Script><mx:HDividedBoxwidth="100%" height="100%" x="0" y="0"><mx:Treeid="myTree" width="180" height="100%"
dataProvider="{xml.node}"
doubleClickEnabled="true"
click="handleItemClick(event)"
doubleClick="handleItemDoubleClick(event)"
labelField="@name"></mx:Tree><mx:VBoxwidth="70%" height="100%"><mx:Labelid="descLabel" width="100%"/></mx:VBox></mx:HDividedBox></mx:WindowedApplication>


思路比较对,不过有bug。 这个全局变量isDoubleClick,不是线性安全的。点一会儿就乱了。期待下个版本,呵呵。
水中影子 2010-02-09
  • 打赏
  • 举报
回复
细节以前都没在乎,学习
mayuanfei 2010-02-08
  • 打赏
  • 举报
回复
恩,看似简单的问题往往实现起来比较困难。我给你实现了,你看看效果:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
[Bindable]
private var xml:XML = <nodes>
<node name="节点1" desc="第一个节点"/>
<node name="节点2" desc="第二个节点"/>
<node name="节点3" desc="第三个节点"/>
</nodes>;

private var isDoubleClick:Boolean = false;//是否为双击

private function handleItemClick(evt:*):void
{
isDoubleClick = false;
var timer:Timer = new Timer(200, 1);
timer.start();
timer.addEventListener(TimerEvent.TIMER, handleClickOrDoubleClick);

}

private function handleItemDoubleClick(evt:*):void
{
isDoubleClick = true;
}

private function handleClickOrDoubleClick(evt:*):void
{
if(isDoubleClick) {
this.descLabel.text = this.myTree.selectedItem.@desc;
}else {
this.descLabel.text = this.myTree.selectedItem.@name;
}
}
]]>
</mx:Script>
<mx:HDividedBox width="100%" height="100%" x="0" y="0">
<mx:Tree id="myTree" width="180" height="100%"
dataProvider="{xml.node}"
doubleClickEnabled="true"
click="handleItemClick(event)"
doubleClick="handleItemDoubleClick(event)"
labelField="@name">
</mx:Tree>
<mx:VBox width="70%" height="100%">
<mx:Label id="descLabel" width="100%"/>
</mx:VBox>
</mx:HDividedBox>

</mx:WindowedApplication>

huangxin5257 2010-02-08
  • 打赏
  • 举报
回复
本想通过简单的方式去实现,尝试了下,没做出来。
这个分是没能力拿了,不过给你个参考:
http://www.dedecms.com/knowledge/design/flash/2009/0929/991.html
siy020513 2010-02-08
  • 打赏
  • 举报
回复
siy020513 2010-02-08
  • 打赏
  • 举报
回复
自己顶个先

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧