У меня есть два вида пейджера, один вложен в другой. Чтобы получить правильное поведение (пролистывание пейджера внутреннего представления без изменения внешнего), мне пришлось переопределить пейджеры внутреннего представления onTouchListener
и поместить в него всю мою логику onTouch/onClick (идея взята из здесь).
Все работает нормально, но поскольку у меня больше нет onClickListener
, я потерял эффект селектора. Когда я помещаю android:clickable="true"
в элемент макета, я получаю эффект селектора, но поведение пейджеров снова неправильное.
Есть ли способ добиться эффекта селектора из onTouchListener
?
innerPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
Log.d(DEBUG_LOG, "Single tap.");
return true;
} else if(event.getAction() == MotionEvent.ACTION_DOWN && v instanceof ViewGroup) {
((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
}
return false;
}
});