fragment之间的点击跳转

800 阅读1分钟

activity的跳转通过intent可以简单实现,但是要实现fragment的跳转就不行了,我们可以通过回调函数来实现:

代码如下:

fragment是依附于activity的,主activity中的代码

//定义一个接口 public interface FragmmentCallback{ //这是回调函数 public void gotoFragment(ViewPager viewPager); } private FragmmentCallback fragmmentCallback; public void setFragmentCallback(FragmmentCallback fragmmentCallback){ this.fragmmentCallback = fragmmentCallback; }

public void forSkip(){ if(fragmmentCallback!=null){ fragmmentCallback.gotoFragment(vp_main); } }

然后在需要跳转的fragment中点击跳转代码:

((MainActivity) mActivity).setFragmentCallback(new FragmmentCallback() { @Override public void gotoFragment(ViewPager viewPager) { //fragment传递数据 // mActivity.setFragmentArgu(string); viewPager.setCurrentItem(2); } });

((MainActivity) mActivity).forSkip();

代码如上。拿到viewPager对象就可以设置自己所需要跳转到的fragment,setCurrentItem(int position),//这里的position就是需要跳转到的目标fragment