Mam poziomy widok ScrollView wewnątrz ViewPager. Aby zapobiec ViewPager być przewijane gdy koniec Scrollview osiągnięciu Używam tej klasy jako za podpowiedź na SO:OnClickListener w widokach wewnątrz niestandardowego ScrollView
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);
}
}
onInterCeptTouchEvent
wydaje się spożywać żadnych Kliknij aby tego widoku i wszystko wewnątrz niego. Kiedy wstawię Views
do tego ScrollView
, ich OnClickListener
s nie będą wywoływane.
Kiedy niech onInterceptTouchEvent
return false, gdy OnClickListener
s nazywane są, ale ScrollView
nie można przewijać.
Jak umieścić w widoku klikalne widoki ScrollView
?
EDYCJA: Po wprowadzeniu odpowiedzi od Rotem, onClickListener
działa, ale nie tylko wywołuje zdarzenia kliknięć, ale także inne, np. Rzucanie. Jak można temu zapobiec?
jeśli tylko wywołanie super z tymi samymi argumentami, nie ma potrzeby, aby zastąpić metodę – Rotem
Zapewnienie przeczytać [Javadoc] (http://developer.android.com/ reference/android/view/ViewGroup.html # onInterceptTouchEvent% 28android.view.MotionEvent% 29) dla metod, które opisują twój problem. Jak mówi Rotem, nie musisz implementować tego. –