listview 不可滑动问题解决
在项目中遇到一个需求,listview有一个比较复杂的item,item中有整体响应区事件,也有其他view的点击响应,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截取所有的事件,然后自己做处理。
listview 不可滑动问题解决相关推荐
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18311877),请尊重他人的辛勤劳动成果,谢谢! 今天还是 ...
- android列表滑到底部,Android中判断listview是否滑动到顶部和底部的实现方法
今天实现listview的下拉刷新和上拉加载的时候,遇到了一个问题,*就是说需要根据listview中滑动的位置来进行下拉刷新和上拉加载.* 具体点,只有当我的listview滑动到最顶部的时候,这时 ...
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199) 我在上一篇文章中Android 带你从源码的角度解析 ...
- Android开发知识(二十三)从源码角度分析ListView的滑动复用机制
文章目录 前言 认识RecycleBin机制 ListView的布局方式 ListView的元素创建流程 ListView滑动加载过程 前言 ListView作为一个常用的列表控件,虽然现在基本被Re ...
- 仿QQ侧滑删除,Listview上下滑动,Listview的iteam的点击事件等bug的解决
网上ListView横向滑动删除Item这样的介绍也很多,但实用性不强,没有解决横向滑动和item的点击事件的冲突,废话少说,有图有真相,下面直接上代码 1:侧滑 2:侧滑的点击事件 3:i ...
- 自定义listView添加滑动删除功能
今天研究了一下android里面的手势,结合昨天学习的自定义View,做了一个自定义的listview,继承自listView,添加了条目的滑动手势操作,滑动后出现一个删除按钮,点击删除按钮,触发一个 ...
- android 继承ListView实现滑动删除功能.
在一些用户体验较好的应用上,可以经常遇见 在ListView中 向左或向右滑动便可删除那一项列表. 具体实现 则是继承ListView实现特定功能即可. (1). 新建 delete_butt ...
- 关于listview上下滑动imageview图片混乱问题
问题代码: @Override public View getView(int position, View view, ViewGroup parent) {final ViewHolder mVi ...
- 基于ListView的滑动删除、添加、修改
在很多App应用当中我们都看见过各式各样的listview,当然,我们自己对于这个控件肯定也是相当熟悉,那么为什么要在listview中嵌套进一个侧滑删除等这些细节性的功能呢? 其实原因很简单,就是用 ...
最新文章
- Asp.NET中常用的一些优化性能的方法
- 高效排序算法(希尔排序)
- Which of the following statement(s) equal(s) value 1 in C programming language?
- python agg函数_Python Pandas Series.agg()用法及代码示例
- opencv计算物体姿态旋转_物体的三维识别与6D位姿估计:PPF系列论文介绍(五)...
- GoogLeNet——CNN经典网络模型详解(pytorch实现)
- C++编程--函数与委托(2)
- ERmaster 数据库设计 ,显示中文逻辑名
- 甘肃电大计算机考试题2007,甘肃电大2021年春季《C++语言程序设计(专)》形成性考核二满分...
- ML-Visuals机器学习、深度学习绘图模板素材分享
- 计算机组成原理习题答案(蒋本珊)
- 网站建设公司该不该把web前端外包出来!精辟
- 我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知
- ClickHouse 数据插入、更新与删除操作 SQL
- 隔壁老王的iptables防火墙
- PPmoney基于Kubernetes的DevOps实践
- 时钟服务器工作原理,Windows 时间服务的工作原理
- 虚云法师:但尽凡心,别无圣解
- 【控制】自适应控制,模型参考自适应控制,参考模型如何求取,有程序有图
- 新东西012--Android软键盘弹出位置控制
热门文章
- 如何滚动更新 Service?- 每天5分钟玩转 Docker 容器技术(102)
- 精品软件 推荐 卡巴斯基安全软件 本人使用过的效果最好的杀毒软件之一哟...
- maven-dependency-plugin (goals copy-dependencies, unpack) is not support解决办法
- Android中SurfaceView用法示例
- MongoDB数据库(二):增删查改
- 项目总结一:情感分类项目(emojify)
- VertrigoServ 2.21配置phpmyadmin
- 1424 零树 (树形DP)
- grafana高可用架构
- OSGI常用控制台命令