2014-09-14 2 views
1

내보기 호출기에서 일부 조각이 있다고 가정 해 봅니다. 다음 조각 전에 onPageSelected() 메서드에서 유효성 검사를하고 싶습니다. 나는 유효성 검사가 성공하지 않으면 다음 조각으로 가고 싶지 않다. 또 다른 질문은 이전 위치를 어떻게 알 수 있습니까? 왼쪽에서 오른쪽으로 스 와이프하면 이전 위치는 위치 -1이되고 오른쪽에서 왼쪽이면 위치가 +1이됩니다. 그러나 사용자가 스 와이프 한 방향을 알기 위해 어쨌든 존재합니다. 다음 그림에서 사용자가 아무 것도 채우지 않으면 다음 조각으로 가지 않고 남아 있어야합니다. 정답을 기대 ..스 와이프 후보기 호출기에서 확인하는 방법은 무엇입니까?

enter image description here

+0

는 "유효하지 만약 내가 다음 조각을 가고 싶지 않아"- 다음을 사용하지 않는 'ViewPager'. 마법사가 필요하면 마법사를 작성하십시오. – CommonsWare

+0

좋습니다. 항상 방법이 있습니다. 나는 며칠 이내에 호출기로 그것을 만드는 법을 보여 주겠다. 이제 연구를하고 있습니다. –

+0

요점은 당신이하고있는 일이 사용자 적대적이라는 것입니다. 기술적으로 가능한지 여부는 사용자가 다른 페이지로 스 와이프 할 때 열 받게되면 도움이되지 않으며 이전 페이지로 다시 돌아갈 수밖에 없습니다. 사람들이 페이지 사이를 스 와이프하지 않게하려면'ViewPager '를 사용하지 마십시오. – CommonsWare

답변

4

을 몇 시간 조사 후, 나는 내 솔루션을 얻었다. 그게 전부 야.

사용자가 호출기를 스 와이프 한 횟수에 상관없이 사용자가 다음 화면을 볼 수 없습니다. 처음 작업

0

개인 OnPageChangeListener pageChangeListener = 새로운 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; 
    } 
} } 

+0

try boolean isValid = false || newPosition == 0; –

관련 문제