嵌套滚动:在RecyclerView中嵌套ListView

3

我正在开发一款安卓应用,目前它具有一个主要的可回收视图(使用item.xml布局填充项目),并且在每个item.xml中都有一个listView。

如何使此listView中的滚动工作,因为现在应用程序只监听可回收视图的滚动?

我尝试了下面这行代码,但它不起作用:

 android:nestedScrollingEnabled="true"

非常感谢您的帮助 :)!

有一段Google I/O视频中,他们的开发人员不推荐使用这种技术。除此之外,其他开发人员尝试在ScrollView类中使用Listview。它比RecyclerView更简单,但是更老旧。 - The Original Android
我不明白...你的解决方案是什么? - Mehdi
我没有代码解决方案可以提供给你,因为我甚至不建议这样做,就像我之前暗示的那样。你的帖子缺少代码或布局xml,因此它并没有吸引足够的注意力。而且很难建议任何修复方法。 - The Original Android
@the-original-android 你可能把缺乏代码/XML和概括混淆了。 我的代码,摆脱了任何混淆和特殊的东西,就是: 一个RecyclerView内部的ListView。我想要能够在触摸时滚动ListView。就这么简单。 - Mehdi
1个回答

7
我是这样解决的:
  mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
            @Override
            public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                if(rv.getChildCount() > 0) {
                    View childView = rv.findChildViewUnder(e.getX(), e.getY());
                    if(rv.getChildPosition(childView) == [listview position]) {
                        int action = e.getAction();
                        switch (action) {
                            case MotionEvent.ACTION_DOWN:
                                rv.requestDisallowInterceptTouchEvent(true);
                        }
                    }
                }

                return false;
            }

            @Override
            public void onTouchEvent(RecyclerView rv, MotionEvent e) {

            }
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接