У меня есть TextView, обернутый в ScrollView. На этот TextView я хочу повесить несколько детекторов жестов, чтобы распознавать разные жесты именно на этом View. В частности, мне нужен ScaleGestureDetector (распознает жест зума) и GestureDetector (распознает тап, двойной тап, длинное нажатие и другие). Listener к тому и другому детектору сделан, я вешаю на View OnTouchListener:
tw.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent motionEvent) {
if (!gestureDetector.onTouchEvent(motionEvent)) {
scaleGestureDetector.onTouchEvent(motionEvent);
};
return true;
}
});
Жесты не распознаются (вернее, ни одна процедура в Listener не отрабатывает, несмотря на то, что листенеры для детекторов назначены согласно инструкции). Если вешать детекторы по отдельности, то все работает:
tw.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent motionEvent) {
scaleGestureDetector.onTouchEvent(motionEvent);
return false;
}
});
Прошу помочь примером, как вообще это делается? Нужно ли в данной ситуации использовать несколько детекторов или что-то мною упущено?
Большое спасибо.