I'm havin a horizontal ScrollView inside a ViewPager. To prevent the ViewPager to be scrolled when the end of the ScrollView is reached I use this class as per hint on SO:
public class CustomScrollView extends HorizontalScrollView { public CustomScrollView(Context p_context, AttributeSet p_attrs) { super(p_context, p_attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent p_event) { return true; } @Override public boolean onTouchEvent(MotionEvent p_event) { if (p_event.getAction() == MotionEvent.ACTION_MOVE && getParent() != null) { getParent().requestDisallowInterceptTouchEvent(true); } return super.onTouchEvent(p_event); } } The onInterCeptTouchEvent seems to consume any click to that View and everything inside it. When I put Views into that ScrollView, their OnClickListeners won't be called.
When I let onInterceptTouchEvent return false, the OnClickListeners are called, but the ScrollView can't be scrolled.
How can I put clickable Views inside that ScrollView?
EDIT: After implementing Rotem's answer, the onClickListener works, but it doesn't only fire on click events but also on others, like fling. How can this be prevented?