我正在尝试在RecyclerView父级中创建一个混合项,其中包含一些CardViews以及其中的另一个RecyclerView。如果您还看不到它,请想象一个ListViews中有几个RecyclerView(该ListViews按标题分组)。

这是我为了使其更清晰而绘制的结构:

android - 另一个RecyclerView中的RecyclerView-LMLPHP

上面是我要实现的布局结构。请注意,这仅是计划。我不确定将RecyclerView包含在RecyclerView中是否是一个好主意。

到目前为止,我已经尝试使用ExpandableRecyclerView来实现这种复杂的布局。但是问题是,当在RecyclerView中添加其他项目类型时(例如,水平滚动轮播),它隐藏在Header中。

我现在想不出其他任何方式。你们对如何实现这种布局有什么建议吗?

为了简单起见,如果您理解我的意思,它是RecyclerView父级中子CardView内的分段RecyclerView

最佳答案

不建议在另一个RecyclerView中使用RecyclerView。但是,如果要使用嵌套的RecyclerViews实现上述目的,则可以使用布局管理器,将最里面的(绿色)RecyclerView包装到其内容的高度。 https://github.com/serso/android-linear-layout-manager中已经有一个这样的布局管理器

还请确保通过如下设置onTouchListener来禁用最里面的RecyclerView上的触摸手势。

mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener {

    @Override
    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
        return true;
    }

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

    }

    @Override
    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

    }
});

关于android - 另一个RecyclerView中的RecyclerView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34946182/

10-13 06:59