鄙人在做这个项目的时候,主界面是ListView,ListView顶部添加了ViewPager,运行时滑动ViewPager时会失去焦点,以下是处理办法,只需要对ListView重写onTouchListener方法就可以了,如下:
![在ListView里添加viewPager为header时,viewPager滑动失去焦点的解决办法 - NedLees - NedLees的博客 在ListView里添加viewPager为header时,viewPager滑动失去焦点的解决办法 - NedLees - NedLees的博客](http://img2.ph.126.net/Dja_2ytv6pAON2bALA1NYw==/6630332192419760738.png)
(注:大家只需将下面的代码复制使用就可以了)
viewPager.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
PointF downP = new PointF();
PointF curP = new PointF();
int act = event.getAction();
if(act == MotionEvent.ACTION_DOWN || act == MotionEvent.ACTION_MOVE || act == MotionEvent.ACTION_UP){
((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
if (downP.x == curP.x && downP.y == curP.y) {
return false;
}
}
return false;
}
});