如何在 viewpager 片段内的 recyclerview 中添加 swipelayout?

How to add swipelayout in recyclerview inside viewpager fragment?

我在 RecyclerView 项目中使用 AndroidSwipeLayout 作为 'Swipe To Delete' 操作。滑动不起作用,因为 RecyclerView 的父级是 ViewPager Fragment。 SwipeLayout 还包含 parent.requestDisallowInterceptTouchEvent(true);拦截来自父级的 touchEvent。在不禁用 ViewPager 滑动的情况下有什么解决方案。

您必须使用 setOnTouchListener 作为适配器中的列表行,如下所示:

yourListRowContent.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_MOVE) {
                    yourViewPager.setPagerEnabled(false);
                }
                return true;
            }
        });

通过使用 yourViewPager.setPagerEnabled(false); 它会在您滑动列表内容时禁用您的 viewpager 但再次在您的 Fragment 中执行以下操作(这将重新激活您的 viewpager):

yourRecyclerViewInFragment.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            HomeFragment.mPager.setPagerEnabled(true);
            return false;
        }
    });