mViewGroup.requestDisallowInterceptTouchEvent(false);

request dis-allow intercept touch event.

参数为true时,请求不允许拦截Touch事件。

public class CustomListView extends ListView {
                                              
    private ViewGroup parentView;
                                              
    public void setParentView(ViewGroup parentView) {
        this.parentView = parentView;
    }
    public CustomListView(Context context) {
        super(context);
    }
    public CustomListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
    public CustomListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
                                              
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
        case MotionEvent.ACTION_DOWN:
        case MotionEvent.ACTION_MOVE:
            parentView.requestDisallowInterceptTouchEvent(true);
            break;
        case MotionEvent.ACTION_UP:
        case MotionEvent.ACTION_CANCEL:
            parentView.requestDisallowInterceptTouchEvent(false);
            break;
        }
        return super.onTouchEvent(ev);
    }
}


參考資料:

1.requestDisallowInterceptTouchEvent

http://www.cnblogs.com/lqminn/archive/2013/03/02/2940194.html

2.android之ScrollView里嵌套ListView

http://www.eoeandroid.com/thread-246995-1-1.html