2015-05-23 2 views
0

У меня есть следующий код:Отправить Scrollview движение Fling к другому ScrollView

setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     if (event.getAction() == MotionEvent.ACTION_MOVE) { 
      anotherScrollView.dispatchTouchEvent(event); 
     } 
     return false; 
    } 
} 

Это клонирует сенсорные события в ScrollView и перейти на другой, все работает, но, к сожалению, есть проблема. Откат после отпускания пальца выполняется в основном ScrollView, но dispatchTouchEvent не отправляет его другому ScrollView. Если я прокрутку первичной очень быстро, отпустите палец и используйте dispatchTouchEvent, другой ScrollView ничего не сделает, потому что передача не отправляется.

+0

, что вы имеете в виду под «другой ScrollView», «другой» ... те, дело не ясно .... –

+0

У меня есть два ScrollViews, мне нужно клонировать движение одного и послать к другому. Он работает, когда пользователь прокручивает первый, используя палец, но когда палец отпущен, а ScrollView начинает бежать, это движение не отправляется через 'dispatchTouchEvent'. –

ответ

0
@Override 
public boolean onTouch(View v, MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_MOVE) { 
     anotherScrollView.dispatchTouchEvent(event); 
     return true; // try to add this 
    } 
    return false; 
}