博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android长按事件和点击事件问题处理,OnItemLongClickListener和OnItemClickListener冲突问题...
阅读量:6689 次
发布时间:2019-06-25

本文共 2131 字,大约阅读时间需要 7 分钟。

        今天在做demo时,须要设置ListView的item的长按和点击事件。OnItemLongClickListener和OnItemClickListener,然而点击事件能够实现,可是在长按操作会同一时候触发点击事件(长按和点击冲突),然后查看了一下Android的相关源代码,能够看到系统是优先对应clicklisener的,他是没有返回值的的。而对于OnItemLongClickListener是有一个返回值标识。

对于一次长按操作。假设返回false,则2个lisener都会对应,假设返回true则系统仅仅处理长按事件。

        因此。想要自己的OnItemLongClickListener长按事件生效,须要将返回值设为true。

以下是源代码

/**     * Interface definition for a callback to be invoked when an item in this     * AdapterView has been clicked.     */    public interface OnItemClickListener {        /**         * Callback method to be invoked when an item in this AdapterView has         * been clicked.         * 

* Implementers can call getItemAtPosition(position) if they need * to access the data associated with the selected item. * * @param parent The AdapterView where the click happened. * @param view The view within the AdapterView that was clicked (this * will be a view provided by the adapter) * @param position The position of the view in the adapter. * @param id The row id of the item that was clicked. */ void onItemClick(AdapterView

parent, View view, int position, long id); }

/**     * Interface definition for a callback to be invoked when an item in this     * view has been clicked and held.     */    public interface OnItemLongClickListener {        /**         * Callback method to be invoked when an item in this view has been         * clicked and held.         *         * Implementers can call getItemAtPosition(position) if they need to access         * the data associated with the selected item.         *         * @param parent The AbsListView where the click happened         * @param view The view within the AbsListView that was clicked         * @param position The position of the view in the list         * @param id The row id of the item that was clicked         * 源代码这里已经给出解释。假设返回值设为true。则系统消耗掉长按事件         * @return true if the callback consumed the long click, false otherwise         */        boolean onItemLongClick(AdapterView
parent, View view, int position, long id); }

转载地址:http://wbkoo.baihongyu.com/

你可能感兴趣的文章
Myeclipse优化配置
查看>>
Spring常用注解
查看>>
windows 10常用快捷键举例
查看>>
关于 logger
查看>>
Oracle 约束的基础知识介绍
查看>>
下一代前端打包工具与tree-shaking
查看>>
web前端响应式设计总结
查看>>
安全配置,关闭iis 错误页面显示详细内容
查看>>
网页客户端无法打开citrix ica后缀文件
查看>>
Orchestrator 2012r2之 创建自动部署虚拟机runbook
查看>>
js中用gb2312编码解码
查看>>
细谈测试---我的启示录
查看>>
Unity自定义mesh绘制
查看>>
nagios安装
查看>>
好用的省、市、地区联动JS封装类
查看>>
Dalvik字节码的类型,方法与字段表示方法
查看>>
(新方法)图片一句话***(免杀)
查看>>
Warning:Even Exadata has a wrong memlock setting
查看>>
java异常处理
查看>>
懒人笔记:mysql基础4
查看>>