我ListView
内有ScrollView
。这两者都是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
,我无法滚动备份我需要点击{{1}的某些部分能够回去。
我想要做的是检查ScrollView
的滚动是否在顶部然后我将能够启用或禁用ListView
并允许requestDisallowInterceptTouchEvent
接管
我尝试了很多选项,获得了ScrollView
,v.getScrollY()
,v.getY()
,但如果我位于我的列表顶部,那么所有人都不会给我。 event.getY()
还没有给我正确的检查。
答案 0 :(得分:0)
使用setOnTouchListener的好方法。 我真正知道的一件事是在ScrollView中放置一个listView是一个非常糟糕的做法,谷歌并不建议这样做。你应该改变你的布局。尽量避免在ScrollView中使用ListView。 ListView始终将焦点放在其父级上,这就是它无法滚动的原因。