我在我的與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