项目中遇到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();
}
});