RecyclerView在另一个RecyclerView中

时间:2016-01-22 11:57:38

标签: android android-recyclerview

我正在尝试在RecyclerView父级中创建一个混合项目,其中包含一些CardViews,其中包含另一个RecyclerView。如果您还没有看到它,请设想ListViews内的多个RecyclerViewListViews按标题分组)。

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

RecyclerViewCeption

以上是我想要实现的布局结构。请注意,这只是计划。我不确定在RecyclerView中使用RecyclerView是否是一个好主意。

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

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

为简单起见,如果您理解我的意思,那么RecyclerView父级内的CardView内的RecyclerView分段{/ 1}}。

1 个答案:

答案 0 :(得分:4)

不建议在另一个RecyclerView中使用RecyclerView。但是,如果要使用嵌套的RecyclerViews实现上述目的,可以使用布局管理器将RecyclerView包装到其最内层(绿色)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) {

    }
});