2014-01-22 3 views
1
@Override 
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2, 
     float arg3) { 
    // TODO Auto-generated method stub 
    if(arg0.getX()<arg1.getX()&&id!=0x7f020000) 
    { 
    previousId=id-1; 
    imageView.setImageResource(id); 
    id++; 
    } 
    else if(arg0.getX()>arg1.getX()&& id!=0x7f020004) 
    { 
    imageView.setImageResource(previousId); 
    } 
    return true; 

} 

문제는 내가 스크롤했을 때 id 대신 2가 1입니다. 이유를 알 수 없습니다. 누군가가 이유를 설명 할 수 있습니까? 어떻게 해결할 수 있을까요?Android onScroll 문제

+0

2에 따라 무엇이 증가 하는가에 따라? id 변수는 어떤 종류의 데이터입니까? –

답변

0

onScroll은 여러 번 호출 할 수 있습니다. 카운터를 한 번만 늘리려는 경우 floats을 캐시하고 비교해야합니다. 캐시 된 값과 다른 경우 새로운 스크롤이 발생했습니다.

+0

이 게시물을 참조하십시오. http://stackoverflow.com/questions/13189620/gesturedetector-onscroll-issue-executed-3-times – katzoft