2012-08-24 3 views
0

У меня конфликт между ScrollView и ViewPager.Обнаружение кликов и выпусков ViewPager

Я пытаюсь сделать что-то вдоль линий

If user clicks ViewPager: 
    Disable ScrollView 

If user releases ViewPager: 
    Enable ScrollView 

Я уже получил отключить/включить код работает, но я не могу получить код нажмите/отпускания работает.

Я попытался с помощью OnTouch, как это ..

pager.setOnTouchListener(new OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 

     if (event.getAction() == MotionEvent.ACTION_DOWN){ 
      scroller.setScrollingEnabled(false); 
     } 

     if (event.getAction() == MotionEvent.ACTION_UP){ 
      scroller.setScrollingEnabled(true); 
     } 

     return true; 
    } 
}); 

..но это, кажется, отключить ViewPager прокрутку влево и вправо. Я использую это неправильно?

Есть ли другая альтернатива для обнаружения прессов и релизов? Также я пытаюсь заставить его работать на Android 2.1 и выше, поэтому OnDrag не кажется совместимым.

ответ

1

Описание возвращаемого значения для OnTouch() - метод интерфейса OnTouchListener:

Правда, если слушатель потребил событие, ложь в противном случае.

OnTouchListener documentation

Попробуйте вернуться верно только для действий типа ACTION_DOWN или ACTION_UP, ложь в противном случае.

+0

Спасибо! Пропустил это. Возвращение true для этих действий приведет к переопределению встроенных элементов управления ViewPager и приведет к неправильной работе, но возврат false во всем работает как шарм. – Muz

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