listview中嵌套listview,子listview无法滚动

    xiaoxiao2025-11-08  4

    自定义vlistview,重写 onInterceptTouchEvent()方法 public class InnerListView extends ListView { public InnerListView(Context context) { super(context); } public InnerListView(Context context, AttributeSet attrs) { super(context, attrs); } public InnerListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { switch (ev.getAction()) { // 当手指触摸listview时,让父控件交出ontouch权限,不能滚动 case MotionEvent.ACTION_DOWN: setParentScrollAble(false); case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: // 当手指松开时,让父控件重新获取onTouch权限 setParentScrollAble(true); break; } return super.onInterceptTouchEvent(ev); } // 设置父控件是否可以获取到触摸处理权限 private void setParentScrollAble(boolean flag) { getParent().requestDisallowInterceptTouchEvent(!flag); } }
    转载请注明原文地址: https://ju.6miu.com/read-1303984.html
    最新回复(0)