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; 

} 

Проблема в том, что я прокрутил, плюс плюс 2 вместо 1. Я не понимаю, почему. Кто-нибудь может объяснить, почему? и как его решить?Проблемы с Android onScroll

+0

В соответствии с чем оно увеличивается на 2? Какими данными является переменная id? –

ответ

0

onScroll можно назвать несколько раз. Если вы хотите только увеличить счетчик один раз, вы должны кэшировать floats и сравнить их - если они отличаются от кешированных значений, произошел новый прокрутка.

+0

См. Также это сообщение: http://stackoverflow.com/questions/13189620/gesturedetector-onscroll-issue-executed-3-times – katzoft

Смежные вопросы