recyclerview 的 childView 和 index 是啥?

Posted

技术标签:

【中文标题】recyclerview 的 childView 和 index 是啥?【英文标题】:What is the childView and index of a recyclerview?recyclerview 的 childView 和 index 是什么? 【发布时间】:2016-04-03 08:59:54 【问题描述】:

在文档中它说该职位是 位置:数据项在适配器中的位置。 我得到了它在recyclerview中的位置,但我没有得到什么索引:在调用getChildAt(int)时使用的附加子视图的索引。与位置对比。 孩子是否查看膨胀的xml文件,如果是,它的索引是什么?

【问题讨论】:

【参考方案1】:

每个项目实际上有 3 个值:

适配器位置 布局位置 如果您使用 stableIds,则所有项目的 ID 将默认为 -1

适配器位置是您最有可能使用的位置。如果你有你的数据

String[] myListData;

适配器位置是bindViewHolder(VH holder, int adapterPosition) 被调用的位置。它标识了您要显示的对象。


如果您有一个包含 1000 个项目的列表,则一次只会显示少数(例如 10 个)——这就是您使用 recyclerView 而不是 LinearLayout 的原因。

如果您想知道您的项目在哪里显示,您会对视图的索引或布局位置感兴趣。如果您滚动,前 10 个项目可能不可见,而第 11 个项目可能是第一个可见的项目,因此 layoutPosition==0, or index==0 位于滚动列表的顶部。

你只需要这个,如果你打算做一些自定义绘图,RecyclerView.ItemDecoration 或其他一些滚动/状态监听。对于 recyclerView 的基本使用,可以安全地忽略索引或布局位置。

【讨论】:

以上是关于recyclerview 的 childView 和 index 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView 为一个 Item 调用 setTextColor 会影响其他 Item

ScrollView -> ChildView 没有调整到约束

无法在 childView 中禁用 UITapGesture

UIPageViewController 强制重新加载 ChildView 控制器

Childview宽度锚在stackView中不起作用

使用 NSJSONSerialization 将 NSDictionary 转换为 NSData