12

我在Android 1.6 和 2.2中这样做...

我在 Activity 中有一个ScrollView (ScrollView 中的所有内容)...

第二个是 Activity 中的一个ListView ....

当我滚动 ListView 时,当时 ScrollView 正在滚动,但ListView 的 Scroll 不起作用......

我提供了我遇到问题...

如果有人有这个解决方案,那么请分享...

在此处输入图像描述

4

2 回答 2

33

这里 parentScroll = 你的主滚动视图和 childScroll = 你的列表视图

parentScroll.setOnTouchListener(new View.OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {
                    Log.v("PARENT", "PARENT TOUCH");
                    findViewById(R.id.child_scroll).getParent()
                            .requestDisallowInterceptTouchEvent(false);
                    return false;
                }
            });

  childScroll.setOnTouchListener(new View.OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {
                    Log.v("CHILD", "CHILD TOUCH");
                    // Disallow the touch request for parent scroll on touch of
                    // child view
                    v.getParent().requestDisallowInterceptTouchEvent(true);
                    return false;
                }
            });
于 2013-02-25T07:58:04.517 回答
5
   svView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            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;
        }
    });
于 2014-09-08T13:36:10.507 回答