标签:
今天在做一个按钮的长按事件,长按的时候弹出一个Dialog弹出框,点击则是进入到下一个界面。
在我调试的时候,发现长按确实弹出了一个Dialog,但是同事他还跳转到下一个界面了。
这么说,就是在我长按的时候,出发了setOnLongClickListener和OnClick事件。
后面查询资料发现,确实如此。
setOnLongClickListener中return的值决定是否在长按后再加一个短按动作 true为不加短按,false为加入短按
比如:以下代码只会执行长按事件 mBtn.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { return true; } });
打个比方,就是说当return返回值为true的时候,代表这个事件已经消耗完了,返回值为false的时候他还会继续传递,结果再加上一个短按。
其次,Activity中的onKeyDown也是如此。
返回true的时候表示事件已经完整的执行完毕了,不再执行其他的回调函数,返回false表示并未完全处理完该事件还会继续调用其他回调函数。具体的效果有时间的童鞋可以尝试一下。
setOnLongClickListener中return值
标签:
原文地址:http://www.cnblogs.com/rencm/p/5207520.html