如果在nestedScrollView中,RecyclerView不会回收

时间:2016-05-02 17:48:25

标签: android android-recyclerview nestedscrollview

我的目标是让NestedScrollView包含多个包含RecyclerViews的子CardView。

我当前的xml看起来像这样:                                    

    <CardView>
        <RecyclerView/>
    </CardView>

    <CardView>
        <RecyclerView/>
    </CardView>
</NestedScrollView>

如果我在RecyclerViews上将nestedScrollViewEnabled设置为false,那么所有内容似乎都按预期工作。但是,recyclerviews中的行不会被回收。调用layoutManager.findFirstVisibleItemPosition()始终返回0,layoutManager.findLastVisibleItemPosition()始终返回列表中的最后一个项目位置。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

根据您的解释,似乎所有视图都在屏幕外呈现,这就是您获得回收器的最后一个项目位置的原因。尝试设置

recyclerview.recycledViewPool.setMaxRecycledViews(int viewType, int max)

将最大值设置在 7 到 10 之间或更多

我希望这有效