让我说我的视图寻呼机中有一些片段。我想在下一个片段之前在onPageSelected()
方法中进行一些验证。除非验证成功,否则我不想进入下一个片段。另一个问题是,我怎么知道以前的位置?如果我从左向右滑动,前一个位置将是位置-1,如果是从右到左,则位置为+ 1。但无论如何要知道用户刷卡的方向。在下面的图片中,如果用户什么都没有填写,它应该保持不变(不用下一个片段)。希望得到正确答案..
答案 0 :(得分:5)
经过几个小时的研究,我得到了解决方案。就是这样。
private OnPageChangeListener pageChangeListener = new OnPageChangeListener() {
int currentPosition = 0;
@Override
public void onPageSelected(int newPosition) {
// my code
boolean isValid = false; // <-- here, you need to check yourself valid or not
if (!isValid) {
pager.setCurrentItem(currentPosition);
}else{
pager.setCurrentItem(newPosition);
currentPosition = newPosition;
}
} }
无论用户刷了多少次寻呼机,用户都无法看到下一个屏幕。
答案 1 :(得分:0)
private OnPageChangeListener pageChangeListener = new OnPageChangeListener(){
int currentPosition = 0;
@Override
public void onPageSelected(int newPosition) {
// my code
boolean isValid = false; // <-- here, you need to check yourself valid or not
if (!isValid) {
pager.setCurrentItem(currentPosition);
}else{
pager.setCurrentItem(newPosition);
currentPosition = newPosition;
}
} }
仅限第一次工作