Answers:
来自事件监听器:
onLongClick() -这将返回一个布尔值,以指示您是否已经消费了该事件,并且不应继续进行下去。也就是说,返回true表示您已经处理了该事件,应该在此处停止;如果尚未处理,则返回false,并且/或者该事件应继续进行任何其他单击的侦听器。
要退true
您onLongClick()
和仍然得到正常的单击事件?
编辑添加:对于ListView,您可能正在使用OnItemLongClickListener
。在onItemLongClick()
那里使用了类似的布尔返回值来表明是否消耗的事件。
用更简单的术语重述答案:
鉴于:
@Override
public boolean onLongClick(View view) {
return true; // or false
}
return true
表示事件已消耗。处理。没有其他点击事件将被通知。return false
表示事件未使用。其他任何点击事件将继续接收通知。因此,如果您不想onClick
在之后也被触发onLongClick
,那么您应该return true
从该onLongClick
事件开始。
确保您要重写OnClickListener
您的onClick
方法。还要确保您要重写OnLongClickListener
您的onLongClick
方法。并确保您的onLongClick
方法返回true
,因为这将消耗onClick
。
您可以实现setOnLongClickListener
创建new View.OnClickListener()
或的实例new View.OnLongClickListener()
,如果创建了Long单击并实现了常规的OnclickListener,则单击激活该方法时将出现此错误。您应该new View.OnLongClickListener()
只用于捕获长点击
myListView.setOnItemLongClickListener(this);
选项,您必须覆盖public boolean onItemLongClick(...)
。在这里,您只需要return true
指示LongClick已被激活并将在常规点击时取消触发即可。如果您返回false,则也会触发常规点击。