zoukankan      html  css  js  c++  java
  • 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表示并未完全处理完该事件还会继续调用其他回调函数。具体的效果有时间的童鞋可以尝试一下。

  • 相关阅读:
    bzoj4196: [Noi2015]软件包管理器
    bzoj3992: [SDOI2015]序列统计
    bzoj 4178: A
    Spoj 8372 Triple Sums
    hdu contest day1 1007 Tricks Device
    hdu contest day1 1002 Assignment
    2018暑期生活指导第三周
    2018暑期生活指导第二周
    《大道至简》阅读笔记
    2018暑期生活指导第一周
  • 原文地址:https://www.cnblogs.com/rencm/p/5207520.html
Copyright © 2011-2022 走看看