问题描述
现有一个类,为Fragment。此Fragment 布局中放入Viewpager, 用此类中的viewpager 继续实现3个fragment页面滑动。现在页面滑动时没有问题的。 但是在Fragment1中有一个按钮, 要实现的功能是 点击fragment 1中的按钮,页面滑动到fragment2,这样的功能该如何实现。
问题解答
回答1:调用viewpager的setCurrentItem()方法。
回答2:你的点击事件被拦截了。起作用的是viewpagerindicator。让viewpagerindicator控件不要拦截你的点击事件@Override
public boolean dispatchTouchEvent(MotionEvent ev) { getParent().requestDisallowInterceptTouchEvent(true); return super.dispatchTouchEvent(ev); }
试试看
回答3:在fragment1中提供一个方法,setOnSwitchFragmentListener(OnSwitchFragmentListener listener,int index);
在fragmentParent中实现这个OnSwitchFragmentListener接口。
fragment1中点击按钮的时候回调这个listner,把点击事件传递给fragmentParent,再setCurrentItem()。