我使用的是ViewPager,它有两个页面,正在重复使用。我拥有的总数是156页。我想禁用第2页的左侧滑动。 请帮帮我,谢谢,
这是我的代码..
public class SlidePagerActivity extends FragmentActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setOnPageChangeListener(new ViewPageChangeListener(){
// set current slide index
AbcController.getInstance().getSlideController().setCurrentSlide(_nNextSlideIndex);
// set Current Cycle Index
AbcController.getInstance().getSlideController().setCurrentCycle(_nNextSlideCycle);
// set pager index
_mPager_in.setCurrentItem(_nNextSlideIndex);
});
}
}
答案 0 :(得分:0)
我想阻止用户刷回上一页,但不希望页面不会消失(如果某些条件得到满足,则允许他向后滑动)。
我最后使用OnPageChangeListener:
viewPager.addOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if(position < pageActuelle) {
viewPager.setCurrentItem( pageActuelle );
return;
}
pageActuelle = position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
现在我强迫用户在向左滑动时返回当前页面。这个解决方案真的适应了我的问题,因为我可以在用户尝试向后滑动时显示Toast。
希望它可以帮助别人。
答案 1 :(得分:-1)
您能详细说明您的问题吗? 您可以随时删除特定位置之前的所有页面,在这种情况下,也无需刷卡。 (对不起评论)