android - 如果在 nestedScrollView 内,RecyclerView 不回收

标签 android android-recyclerview nestedscrollview

我的目标是拥有一个带有多个包含 RecyclerViews 的子 CardViews 的 NestedScrollView。

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




    <CardView>
        <RecyclerView/>
    </CardView>

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

如果我在 RecyclerViews 上将 nestedScrollViewEnabled 设置为 false,一切似乎都按预期工作。但是,recyclerviews 中的行没有被回收。调用layoutManager.findFirstVisibleItemPosition()总是返回 0,并且 layoutManager.findLastVisibleItemPosition()总是返回列表中最后一个项目的位置。

有什么建议么?

最佳答案

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

recyclerview.recycledViewPool.setMaxRecycledViews(int viewType, int max)
将最大值设置在 7 到 10 或更多之间
我希望这有效

关于android - 如果在 nestedScrollView 内,RecyclerView 不回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988487/

相关文章:

android - 如何在不重复的情况下在适配器外部使用相同的 getView/onBindView 代码

android - 适配器扩展 baseadapter getview 的位置 = 0

android - 如何在 NestedScrollView 中显示滚动条

android - 我可以创建这样的 nestedScroll 布局吗?

android - 如何从非 Activity 类启动 Activity?

java - 如何通过移动手机进行更改

android - 有没有办法以编程方式在软键盘上启动语音输入?

android - "restore scroll position in android Paging adapter when user go to another fragment or activity from adapter"问题

android - android 中的 staggeredgridview 实现帮助

android - NestedScrollView 里面的 WebView 不能滚动