【发布时间】:2014-12-18 04:15:27
【问题描述】:
我在ScrollView 中有一个ListView。它们都是Fragment 的一部分。
为了防止ScrollView会影响ListView的滚动,我添加了如下代码:
myListView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
现在它们都是工作文件,我可以一直向下滚动到我的ListView,当我看到我的ListView 时,我可以在其中滚动。
我现在的问题是,如果我滚动到 ListView 的顶部,如果我继续滚动 ListView,我将无法滚动备份,我需要点击 ScrollView 的某些部分才能回去吧。
我要做的是检查ListView的滚动是否在顶部,然后我将能够启用或禁用requestDisallowInterceptTouchEvent并允许ScrollView接管。
我尝试了很多选项,得到了v.getScrollY()、v.getY()、event.getY(),但如果我在我的列表顶部,所有选项都不会给我。 myListView.getFirstVisiblePosition() 也没有给我正确的检查。
【问题讨论】:
标签: android listview scrollview ontouchlistener motionevent