Viewpager与片段

时间:2014-01-27 07:39:13

标签: android android-viewpager

我的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();
}

}

1 个答案:

答案 0 :(得分:0)

我假设您有FragmentStatePagerAdapter或FragmentPagerAdapter。

在适配器中,将getCount()方法设置为6,将确保无法访问最后一个片段。

@Override
public int getCount() {
    return 6;
}