Disable swipe of a view pager when its child item is clicked

1.6k views Asked by At

i am facing an issue with Viewpager. How to Stop Swiping View Pager While Swiping its child views Inside adapter.I have attached image regarding my screens.enter image description here

WHen i clicked on Horizontal ListView entire Viewpager is swiping.I want view pager to swipe only when Horizontal Listview is not touched.Thanks

1

There are 1 answers

2
Milap Pancholi On
//here this code is writing for disable scroll of parent item so same thing you 
can do it you can disable it from your child here

vp.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            v.getParent().requestDisallowInterceptTouchEvent(true);
            return false;
        }
    });
vp.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
            // TODO Auto-generated method stub
            vp.getParent().requestDisallowInterceptTouchEvent(true);
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
            // TODO Auto-generated method stub

        }
    });