执行长按时如何防止 OnItemClickListener 工作?

Posted

技术标签:

【中文标题】执行长按时如何防止 OnItemClickListener 工作?【英文标题】:How to prevent OnItemClickListener work when long click performed? 【发布时间】:2011-04-26 09:34:44 【问题描述】:

我有一个 gridview,如果用户执行单击或长按,我希望它的项目表现不同,这就是我使用 OnItemClickListener 和 OnItemLongClickListener 的原因,但是当长按发生时,两个侦听器都会做出反应。我只想执行 OnItemLongClickListener。

【问题讨论】:

【参考方案1】:
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)    
   return true;

return true 将阻止点击事件继续。它将只执行OnItemLongClickListener

【讨论】:

【参考方案2】:

您可以使用AdapterView.setOnItemLongClickListener。 GridView 继承了 AdapterView,因此您也可以在 GridView 上调用该方法。

【讨论】:

我已经在使用 AdapterView.setOnItemLongClickListener 但我也在使用 setOnItemClickListener 并且它们都会对长按做出反应,我想防止 OnItemClickListener 对长按做出反应。【参考方案3】:

为了拦截长点击(又名敲击),您应该实施GestureDetector.OnGestureListener

【讨论】:

以上是关于执行长按时如何防止 OnItemClickListener 工作?的主要内容,如果未能解决你的问题,请参考以下文章

执行回顾

如何在 Swift 中长按时选择表格行

Oracle SQL - 如何按时包含相关记录

如何在后按时以编程方式关闭 SearchView?在片段中

长按时颤动选择文本

在android视图中的任何地方长按时如何创建吐司?