我的理解是Android事件传播从父节点传到子节点,也就是说,它从最外面的元素开始,然后从那里开始。我的问题是,为什么当我尝试垂直滚动一个包含在scrollview上的viewpager内的listview时,listview会移动,而不是viewpager。 好的,让我重新说一下: 我正在尝试创建一个菜单,当用户拉下视图寻呼机时,该菜单会让我更清楚:
滚动型 我的自定义菜单 ViewPager(有三个片段,所有片段都有lisview) ListView
我明白我想要做的事情有点奇怪,但这次只是和我一起。 :)
我可以做什么来暂时“禁用”滚动列表视图。
由于
答案 0 :(得分:3)
似乎你必须覆盖滚动事件。一个好的网页是Disable scrolling in Android ListView。
主要看dispatchTouchEvent
。它的片段:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
final int actionMasked = ev.getActionMasked() & MotionEvent.ACTION_MASK;
if (actionMasked == MotionEvent.ACTION_MOVE) {
// Ignore move events
return true;
}
我个人希望它比禁用滚动方法简单。