问题描述
我就吃ViewPager内水平滚动型。以prevent的ViewPager时达到滚动型结束时,我使用这个类按照提示在SO滚动:
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);
}
}
的 onInterCeptTouchEvent
似乎消耗任何点击该View和里面的一切。当我把查看
成滚动型
,其 OnClickListener
取值将不会被调用。
The onInterCeptTouchEvent
seems to consume any click to that View and everything inside it. When I put Views
into that ScrollView
, their OnClickListener
s won't be called.
当我让 onInterceptTouchEvent
返回false,则 OnClickListener
s的调用,但滚动型
不能滚动。
When I let onInterceptTouchEvent
return false, the OnClickListener
s are called, but the ScrollView
can't be scrolled.
我怎样才能把里面的点击浏览滚动型
How can I put clickable Views inside that ScrollView
?
编辑:实施Rotem公司的回答后, onClickListener
的作品,但它不只做火的点击事件也是对别人,喜欢一扔。这是怎么回事prevented?
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?
推荐答案
好了,开始一个赏金我发现它是如何工作分钟后:
Well, minutes after starting a bounty I found out how it works:
在 onInterceptTouchEvent
I
return super.onInterceptTouchEvent(p_event);
这篇关于OnClickListener上的自定义滚动型内查看的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!