Android:onClick()的奇怪行为

时间:2015-08-31 19:55:31

标签: android android-layout

主题说“奇怪”的行为,但实际上我不知道它是否奇怪。这对我来说很奇怪(我是新手)。我的基本项目是我活动中唯一的布局。我在onTouch和onClick的布局上设置了监听器。两种方法(onTouch和onClick)都可以工作(例如调用)。 但是,即使按下屏幕,也会调用onClick - >将手指移动5-10秒 - >发布的屏幕 - >的onClick()。这是onClick的预期行为吗?即使我单击“点击”屏幕10秒钟,onClick()也会触发?这是正常的吗?

如果这是正常的,那么我切换回使用onTouch进行点击处理的实现,我在其中测量UP / DOWN操作之间的时间(例如最多200ms)。

1 个答案:

答案 0 :(得分:0)

我测试了你的样本,发生的事情就是当你试图在屏幕上“点击”它时, DIFICULT 来制作ACTION_UPACTION_DOWN,因为你会移动一点你的手指,所以如果你要求什么更好,我会说onClick(),因为它只在你点击特定项目时被解雇。

修改

  

但是,即使按下屏幕也会调用onClick - >将手指移动5-10秒 - >发布的屏幕 - >的onClick()。这是onClick的预期行为吗?

这是因为onClick()方法在您完成ACTION_DOWN时首先被调用,并且在您执行ACTION_UP时结束,所以即使您在屏幕上移动手指2制作ACTION_UP时,它也将完成onClick()事件。