首页 > 代码库 > Android开发之解决父控件拦截子控件事件问题

Android开发之解决父控件拦截子控件事件问题

以ViewPager为例:

 1 public class TopNewsViewPager extends ViewPager {
 2     public TopNewsViewPager(Context context) {
 3         super(context);
 4     }
 5 
 6     public TopNewsViewPager(Context context, AttributeSet attrs) {
 7         super(context, attrs);
 8     }
 9 
10     //重写这个方法,并且在方法里面请求所有的父控件都不要拦截他的事件
11     @Override
12     public boolean dispatchTouchEvent(MotionEvent ev) {
13         getParent().requestDisallowInterceptTouchEvent(true);
14         return super.dispatchTouchEvent(ev);
15     }
16 }

 

Android开发之解决父控件拦截子控件事件问题