Viewpagr中Fragment内按钮点击切换另一个Fragm

2018-08-23  本文已影响0人  我不爱吃柚子c

项目中遇到viewpagr配合两个fragment的效果,之前都是在viewpagr页面做切换交互,现在是在fragment内有个按钮,点击后切换到另一个.尝试了fragment切换方法,麻烦且需要做多实例等操作.

解决办法

在viewpagr的FragmentActivity中做以下代码操作:假设该FragmentActivity命名为LoginActivity

1, 实现该接口全局
private IntentFragmentInterface mIntentFragmentInterface;
2,实现跳转fragment的接口
public interface IntentFragmentInterface {
     //fragment跳转方法
      void jumpFragment(ViewPager viewPager);
  }
3,实现实例并调用接口实现的方法
public void setFragmentjumpInterface(IntentFragmentInterface intentfragmentInterface) {
      mIntentFragmentInterface = intentfragmentInterface;
  }
4,fragment 跳转执行
 // Fragment跳转执行   
  public void jumpToFragment() {
      if (mIntentFragmentInterface != null) {
          mIntentFragmentInterface.jumpFragment(vpLogin);
      }
  }

fragment中的切换调用方法

textview.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
                LoginActivity loginactivity= (LoginActivity)getActivity();
                loginactivity. setFragmentjumpInterface(new LoginActivity. IntentFragmentInterface() {
                  @Override
                  public void jumpFragment(ViewPager viewPager) {
                      //setCurrentItem(0);orsetCurrentItem(1);是切换的页面,第二个fragment只有这一处更改,别的全完一样
                      viewPager.setCurrentItem(0);
                  }
              });
              loginactivity. jumpToFragment();
          }
      });

整体代码就那么多,可用.

上一篇下一篇

猜你喜欢

热点阅读