我的app中有一个包含7个片段的viewpager,每个片段代表他们自己的逻辑
然而,有2个相互耦合的片段,没有另一个片段就不存在。我有2个按钮,屏幕底部的前一个和下一个按钮在片段之间切换。
我想这样做,以便在viewpager中滑动无法到达其中一个耦合片段
现在我做了这个:我把第一个片段(耦合的片段)放在位置0,第二个片段放在最后一个位置,这样当你向左和向右滑动时,你到达第二个耦合片段
我想这样做,所以你无法通过滑动来到达最后一个片段
怎么做?
编辑:
片段适配器
public class PurchaseFragmentStatePagerAdapter extends FragmentStatePagerAdapter {
private List<BaseFragment> fragments;
private boolean shouldShowLastFragment;
@Inject
public PurchaseFragmentStatePagerAdapter(FragmentManager fm) {
super(fm);
}
public void setFragments(List<BaseFragment> fragments) {
this.fragments = fragments;
}
@Override
public BaseFragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments == null ? 0 : shouldShowLastFragment ? fragments.size() : fragments.size()-1;
}
public void enableItem(int i) {
shouldShowLastFragment = true;
notifyDataSetChanged();
}
public void disableItem(int i) {
shouldShowLastFragment = false;
notifyDataSetChanged();
}
}
答案 0 :(得分:0)
我假设您有FragmentStatePagerAdapter或FragmentPagerAdapter。
在适配器中,将getCount()
方法设置为6,将确保无法访问最后一个片段。
@Override
public int getCount() {
return 6;
}