如果在nestedScrollView中,RecyclerView不会回收

use*_*493 7 android android-recyclerview nestedscrollview

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

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

    <CardView>
        <RecyclerView/>
    </CardView>

    <CardView>
        <RecyclerView/>
    </CardView>
</NestedScrollView>
Run Code Online (Sandbox Code Playgroud)

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

有什么建议?

QAM*_*MAR 0

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

recyclerview.recycledViewPool.setMaxRecycledViews(int viewType, int max)
Run Code Online (Sandbox Code Playgroud)

将最大值设置为 7 到 10 或更多

我希望这有效