android onClick 与 onTouch 的区别

最近在项目中做一个时间选择框的功能,功能是这样的,有一个EditText,只要点击它就弹出一个DatePicker选择日期,选中的日期赋值给EditText。

第一反应,是觉得这个事件就是只要“碰到” EditText (不管哪个位置)就弹出框,于是直觉就是用 onTouch 事件。

但是结果很奇怪,运行的时候,手指碰了一下文本框,时间框是弹了出来,但是之后又闪烁了两下,好像是又重新弹了两次;在点击确定关闭是时间框的时候也是这样,第一下关不掉,要再按一下才能关闭。

这是为什么?在onTouch 时间中做了输出的标记,看了看logcat, 原来手指碰一下,触发了三次 onTouch 事件,估计是因为手指并没有马上离开屏幕的关系。


于是换个思路,把 onTouch 换成了 onClick ,重新运行就正常了。

看来onTouch 和onClick还是有比较明显区别的。


如果是那种需要手指和屏幕保持接触的事件,可以试试 onTouch 。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值