- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用适配器创建了一个简单的 RecyclerView,有时我需要在适配器外部的 RecyclerView 中获取 subview 的数量。
我使用:((LinearLayoutManager) myRecyclerView.getLayoutManager()).getChildCount()
为此。但是我从来没有得到 RecyclerView 中的真实 View 数。
例如,我向列表中添加 10 个项目并调用 adapter.notifyDataSetChanged()
。之后我调用 ((LinearLayoutManager) myRecyclerView.getLayoutManager()).getChildCount()
我得到 4。
谁能给我解释一下如何在 RecyclerView 中获取真实的观看次数?
最佳答案
您可以获得真实的观看次数。如果适配器有 10 个项目并且 ((LinearLayoutManager) myRecyclerView.getLayoutManager()).getChildCount()
返回 4,这没有任何问题。
模型(适配器)中的项目数和 View 数不是一回事。
RecyclerView
不会在内存中保存所有 10 个项目的 View ,在您的情况下它只有 4 个。当你滚动时,它会重复使用这 4 个 View 来显示不同的项目。这样做的目的是提高渲染性能。
如果你想得到 10,那么你应该改用 adapter.getCount()
。
关于Android RecyclerView 错误的childCount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49859347/
public void CreateEnemyObjectsToRoad( RoadPool roadpool, int numberOfEnemies, int enemyType ) {
我正在扩展框架布局 在构造函数中(从 xml 加载 View 后)我调用 getChildCount() 我得到 0。如何解决这个问题? public class DisabledFrameLayou
我只是不明白: 如果我想让我的复合组件插入子组件,我 使用 但是 #{cc.childCount}总是返回 0在这种情况下。另一方面,如果我 不要使用 我总是得到正确的 childCount没有 ch
我是一名优秀的程序员,十分优秀!