执行长按时如何防止 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 工作?的主要内容,如果未能解决你的问题,请参考以下文章