ScrollView嵌套ListView滑动冲突问题

来源:互联网 发布:windows vps怎么使用 编辑:程序博客网 时间:2024/06/05 22:37

解决ListView在ScrollView中ListView滑动的问题。系统默认是将滑动事件交给scrollview处理,因为scrollview和listview都是可滑动的,而scrollview是父view,会拦截滑动事件自己实现。所以需要我们自己自定义一个listview在它的dispatchTouchEvent方法里面将父view(这里就是scrollview)InterceptTouchEvent给设置为false,就是不让父view去拦截触摸事件,直接交给子view(就是listview)处理,这样我们滑动的时候系统就认为我们是滑动listview而不是scrollview了(也就实现在限制的区域内滑动listview,不然的话会直接滑倒下面的控件,listview只显示前几条)

实现代码:

public class MyListView extends ListView {    public MyListView(Context context) {        super(context);    }    public MyListView(android.content.Context context,android.util.AttributeSet attrs){        super(context, attrs);    }    @Override    public boolean dispatchTouchEvent(MotionEvent ev) {        // TODO Auto-generated method stub        getParent().requestDisallowInterceptTouchEvent(true);//这句话的作用 告诉父view,我的单击事件我自行处理,不要阻碍我。        return super.dispatchTouchEvent(ev);    }}

引用http://blog.csdn.net/duguju/article/details/50479292

ScrollView与RecyclerView滑动冲突的问题

地址:http://blog.csdn.net/u014434080/article/details/70256098

阅读全文
0 0