转自 http://blog.csdn.net/fzh0803/article/details/9474359

listview的父亲要求滑动,在点击listview区域时要求在滑动的只是只滑动listview,但一般做法无法满足要求,listview无法兼顾点击事件与滑动。

解决的办法是,给item设置一个rootview,重写rootview的onTouchEvent

@Override
public boolean onTouchEvent(MotionEvent event) {
final int action = event.getAction();
if(action ==  MotionEvent.ACTION_MOVE) {
if(null != scrollView) {
customListView.setEventFlag(true);
return false;
}
}
return super.onTouchEvent(event);

}

再实现一个定制的listview,重写onIntercepotTouchEvent方法:

@Override
public boolean onInterceptTouchEvent(MotionEvent ev){
if(MotionEvent.ACTION_UP == ev.getAction()) {
//父view允许滑动
}else { 
//禁止父view滑动
}
if(eventFlag) {
eventFlag =  !eventFlag;
return true;
}
return super.onInterceptTouchEvent(ev);
}

这样既可实现item的点击与滑动共存。原理是onTouchEvent事件是向上传递的,在view处理完事件后,截取move,做截取标志,listview截取所有的事件,然后自己做处理。

转载于:https://www.cnblogs.com/DonkeyTomy/articles/3246144.html

ListView 与 它里面的Item 点击滑动冲突相关推荐

  1. IOS -- UICollectionView里面的cell点击,点击一个cell改变其他cell的状态

    view.m - (void)initWithCreatorCollectView {//模拟数据 [self imitateData];float width = ([UIScreen mainSc ...

  2. 小程序模板中的data里面的...item是什么意思

    我们知道模板不能直接在界面上显示,需要调用的时候才能显示出来,调用的时候需要使用is属性来说明调用的是哪个模板,并且传参的形式可以有多种 <!-- 直接给模板里面用到的字段赋值 --> & ...

  3. element-ui 里面的table 点击行进行切换选中状态

    html 里面是:<el-table:data="tableData"borderheight="315"style="width: 100%& ...

  4. Qt编程之通过鼠标滚轮事件缩放QGraphicsView里面的Item

    首先自己subclass QGraphicsView的一个类,叫DiagramView,然后重新实现它的滚轮事件函数,然后发送一个缩放信号: 1 oid DiagramView::wheelEvent ...

  5. ListView的长按事件和点击事件冲突的解决办法

    需求是这样的:listView中点击item 跳转到一个activity,长按item可以对这条item进行删除操作,在删除前会弹出dialog(确认删除对话框). 但是在开发过程中发现,当长按某个i ...

  6. Flutter 28: 图解 ListView/GridView 混用时滑动冲突小尝试

    小菜在学习过程中会在一个 Page 页面同时用到 GridView 和 ListView 或多个 ListView,此时就会遇到常见的滑动冲突问题.小菜尝试了两种解决滑动冲突的方案,仅记录一下基本的使 ...

  7. android listview里item添加一个按钮点击事件,ListView Item点击事件跳转详情界面

    有好久都没有碰安卓了,考试加五一双组合也真是让人蛋疼.好在都平安的度过了,所以又有时间gun回来弄弄我的小博客(虽然没多少人看= =).看了之前做的几个小demo,模式都差不多,但是每次写的时候都要在 ...

  8. ListView的Item点击事件(消息传递)

    转载请保留原文出处"http://my.oschina.net/gluoyer/blog",谢谢! 您可以到博客的"友情链接"中,"程序猿媛(最新下载 ...

  9. android 项目学习随笔十三(ListView实现ITEM点击事件,将已读状态持久化到本地)...

    1.因为给LISTVIEW增加了两个头布局,所以在点击事件ITEM索引会增加2,比如原来第一条数据的索引应该为0,增加两个头布局后,它的索引变为        2,为了使LISTVIEW的ITEM在点 ...

最新文章

  1. Linux系统中运行.sh文件的几种方法
  2. 皮一皮:大自然的力量你无法想象...
  3. 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
  4. 1.8 小飞的电梯调度算法
  5. 【TypeScript】类的使用
  6. Java黑皮书课后题第6章:**6.22(数学:平方根的近似求法)实现Math类中dsqrt方法的技术:巴比伦法nextGuess = (lastGuess + n / lastGuess) / 2
  7. React中自定义方法
  8. 多个python文件打包成exe_Python 3.4 .py文件打包成exe可执行文件方法
  9. sklearn 决策树例子_Sklearn库例子——决策树分类
  10. 都昌信息袁永福:利用电子病历赋能框架,为健康医疗大数据打好基础【电子病历和健康医疗大数据系列】...
  11. MDT2012配置无人职守安装
  12. Android开发 入门篇(一)
  13. hapi入门之Authentication篇
  14. 金蝶K/3 Cloud 实施笔记
  15. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十四) Be careful!前方怪物出没...
  16. 如何使用HomePod和Apple TV 4K设置家庭影院音频?
  17. 【 长尾理论在现实中的巨大威力】
  18. 通用对话框——FolderBrowserDialog
  19. SpringBoot-Rabbit MQ-设置手动确认ACK-Channel shutdown异常
  20. Java面试资料个人整理

热门文章

  1. 20145305 《信息安全系统设计基础》第6周学习总结
  2. 《linux内核设计与实现》第一章
  3. Kubernetes用户指南(二)--部署组合型的应用、连接应用到网络中
  4. 深入分析Php处理浮点数的问题
  5. Adroid真机调试
  6. linux下的c编程
  7. Linux服务器---流量监控bandwidthd
  8. zabbix之 自定义内存使用率监控报警
  9. 使用Xtrabackup进行MySQL备份
  10. Qt on Android:将Qt调试信息输出到logcat中