Android 安卓:为什么长点击也会触发正常点击?
我有一个ListView,可供长时间单击和常规单击使用 为什么,当我长按列表项时,也会调用常规的单击事件 我需要为不同的点击设置两个单独的功能。来自: -这将返回一个布尔值,以指示您是否已使用该事件,并且不应进一步携带该事件。也就是说,返回true表示您已经处理了事件,它应该在这里停止;如果尚未处理该事件,则返回false,并且/或者该事件应继续发送到任何其他单击侦听器 您是否从Android 安卓:为什么长点击也会触发正常点击?,android,events,listview,onlongclicklistener,Android,Events,Listview,Onlongclicklistener,我有一个ListView,可供长时间单击和常规单击使用 为什么,当我长按列表项时,也会调用常规的单击事件 我需要为不同的点击设置两个单独的功能。来自: -这将返回一个布尔值,以指示您是否已使用该事件,并且不应进一步携带该事件。也就是说,返回true表示您已经处理了事件,它应该在这里停止;如果尚未处理该事件,则返回false,并且/或者该事件应继续发送到任何其他单击侦听器 您是否从onLongClick()返回true,并且仍然获得正常的单击事件 编辑以添加:对于列表视图,您可能正在使用OnIte
onLongClick()
返回true
,并且仍然获得正常的单击事件
编辑以添加:对于列表视图,您可能正在使用
OnItemLongClickListener
。there使用一个类似的布尔返回值来指示它是否使用了事件。请确保您正在为onClick
方法重写OnClickListener
。另外,请确保您正在覆盖onLongClick
方法的onLongClick
侦听器。并确保您的onLongClick
方法返回true
,因为这将使用onClick
以更简单的方式重新显示答案:
鉴于:
@Override
public boolean onLongClick(View view) {
return true; // or false
}
表示事件已被消耗。它被处理了。不会通知其他单击事件return true
表示事件未被消耗。任何其他单击事件将继续接收通知return false
因此,如果您不希望
onLongClick
在onLongClick
之后也触发onClick
,那么您应该从onLongClick
事件中返回true
。您可以实现设置onlongclickstener
创建新视图.OnClickListener()的实例
,如果创建长时间单击并实现正常的OnclickListener,则会出现单击激活该方法的错误。
您应该使用
新建视图.OnLongClickListener()
仅捕获长时间单击设置myListView.setOnItemLongClickListener(此)代码>选项,您必须重写函数public boolean nominglongclick(…)
。在这里,您只需返回true
,这表示长点击已激活,并将在常规点击时取消触发。如果您返回false,那么它也会触发常规单击。如果我需要区分长单击和常规单击以根据that@erichamion我试过你解决类似问题的方法,但没有成功。我很感激您能提供的任何见解或想法,位于此处:超级完美答案如果我们输入真值,那么它只处理长点击如果输入假值,那么点击和长按事件都会立即发生。我在我的onLongClick方法中添加了真值,但仍然存在一个问题,即我的onClick方法此后不会触发。如果您有任何关于如何解决问题的想法或想法,我将不胜感激