我在触摸事件的gridview上有这段代码。
gridView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
// Handle ListView touch events.
v.onTouchEvent(event);
return true;
}
});
在MotionEvent.Action_UP
内部,我想要这样的事情。
if(v.getParent().ScrollisOnTop){
v.getParent().requestDisallowInterceptTouchEvent(false);
}
else{
v.getParent().requestDisallowInterceptTouchEvent(true);
}
当父滚动已经位于顶部时,表示禁止使用scrollView拦截
否则允许scrollView拦截。