Question

@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;

}

The problem is when I scrolled, the id plus 2 instead 1. I don't understand why. Does someone can explain why? and how to solve it?

Was it helpful?

Solution

onScroll can be called multiple times. If you only want to increment your counter once, you should cache the floats and compare them - if they are different from the cached values, a new scroll has occurred.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top