Android ListView的item中嵌套ScrollView的解决办法

Android ListView的item中嵌套ScrollView的解决办法,第1张

概述 前沿:有时候,listview的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollView来实现,于是问题来了,当listview需要做点击事件时,由于ScrollView的嵌套使用,拦截了listvew点击事件:只好

 前沿:有时候,ListvIEw 的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollVIEw来实现,于是问题来了,当ListvIEw需要做点击事件时,由于ScrollVIEw的嵌套使用,拦截了Listvew点击事件:只好重写ListvIEw来实现了。

/*** * @author 作者:易皇星* * @da2016年10月24日 时间:* * @toTodo 类描述: 解决 ListVIEw中嵌套ScrollVIEw,ScrollVIEw拦截ListVIEw的Item点击事件的解决办法* * * 在ListvIEw中嵌套ScrollVIEw,发现横滑竖滑都正常,但是无法单击ListvIEw的Item。查询AndroID分发机制后解决,继承ListvIEw重写ListvIEw的onIntercepttouchEvent。* * onIntercepttouchEvent中总是调用ListvIEw的ontouchEvent保证ListvIEw的事件都执行,* super.onIntercepttouchEvent(ev)不会拦截需要传递给ScrollVIEw的横滑。*/public class MyListVIEw extends ListVIEw {private int flag = 0;private float StartX;private float StartY;public MyListVIEw(Context context) {super(context);// Todo auto-generated constructor stub}public MyListVIEw(Context context,AttributeSet attrs,int defStyle) {super(context,attrs,defStyle);// Todo auto-generated constructor stub}public MyListVIEw(Context context,AttributeSet attrs) {super(context,attrs);// Todo auto-generated constructor stub}@OverrIDepublic boolean onIntercepttouchEvent(MotionEvent ev) {// 总是调用ListvIEw的touch事件处理ontouchEvent(ev);if (ev.getAction() == MotionEvent.ACTION_DOWN) {StartX = ev.getX();StartY = ev.getY();return false;}if (ev.getAction() == MotionEvent.ACTION_MOVE) {float ScollX = ev.getX() - StartX;float ScollY = ev.getY() - StartY;// 判断是横滑还是竖滑,竖滑的话拦截move事件和up事件(不拦截会由于ListvIEw和scrollvIEw同时执行滑动卡顿)if (Math.abs(ScollX) < Math.abs(ScollY)) {flag = 1;return true;}return false;}if (ev.getAction() == MotionEvent.ACTION_UP) {if (flag == 1) {return true;}return false;}return super.onIntercepttouchEvent(ev);}}

以上所述是小编给大家介绍的AndroID ListVIEw的item中嵌套ScrollVIEw的解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Android ListView的item中嵌套ScrollView的解决办法全部内容,希望文章能够帮你解决Android ListView的item中嵌套ScrollView的解决办法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1147881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存