setOnLongClickListener中return值

今天在做一个按钮的长按事件,长按的时候弹出一个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表示并未完全处理完该事件还会继续调用其他回调函数。具体的效果有时间的童鞋可以尝试一下。

 

转载于:https://www.cnblogs.com/rencm/p/5207520.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值