我在我的与7个片段应用一个viewpager,各自代表自己的逻辑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();
}
}
在我看来,你通过实现setFragments(List fragments)来打破适配器的目的。相反,您应该重写getItem(int position),如Erix在其答案中所示,让适配器实例化各个片段。我怀疑这也是我的答案出错的地方。 –
cYrixmorten