Android:为什么长时间点击也会触发正常点击?
我有一个ListView与听众进行长时间点击和定期点击。
为什么当我长按列表项时,常规的点击事件也会被调用?
我需要两个不同的点击function。
来自事件监听者 :
onLongClick() – 这将返回一个布尔值来指示是否消耗了事件,并且不应该继续进行。 也就是说,返回true表示你已经处理了事件,它应该停在这里; 如果你还没有处理它和/或事件应该继续到其他任何点击监听器,则返回false。
你是从onLongClick()
返回true
,仍然得到正常的点击事件?
编辑添加 :对于ListView,您可能正在使用OnItemLongClickListener
。 onItemLongClick()
在那里使用一个类似的布尔返回值来表明它是否消耗了事件。
确保你的onClick
方法重写了OnClickListener
。 另外请确保你的onLongClick
方法重写OnLongClickListener
。 并确保您的onLongClick
方法返回true
,因为这将消耗onClick
。
用简单的语言重申答案:
鉴于:
@Override public boolean onLongClick(View view) { return true; // or false }
-
return true
意味着事件被消耗。 这是处理。 没有其他的点击事件会被通知。 -
return false
意味着事件没有被消耗。 其他任何点击事件都将继续收到通知。
因此,如果您不想在onLongClick
之后触发onClick
,则应该从onLongClick
事件return true
。