繁体   English   中英

如何仅在 RecyclerView 中的某些元素之间添加分隔线?

[英]How do you add dividers between only certain elements in a RecyclerView?

我知道关于 RecyclerViews 的 DividerItemDecoration 虽然不是每个项目之间的分隔线,但每当我的元素中的某个属性发生变化时,我对分隔线更感兴趣。 例如,一个包含发布日期的交易列表 - 然后在交易列表中的每个日期更改时显示一个分隔符。

这绝对是可能的,但我不确定是否会去做。 例如,在Monzo应用程序中 - 它是分隔交易行的日期。

任何帮助将不胜感激!

您将创建一个带有两个视图支架的回收器视图适配器。 在 Monzo 应用程序的示例中,您将为购买创建一个 ViewHolder,为日期创建另一个。 然后在onCreateViewHolder您将为该列表中的该项目膨胀正确类型的查看器。

您可以这样做的一种方法是将分隔符添加到ViewHolder布局,默认为View.INVISIBLE (或View.GONE如果您希望它在可见时占用额外的空间 - 就像分隔符在列表元素之外而不是在里面在顶部边缘)

然后在onBindViewHolder您可以做一些逻辑来决定该项目的分隔符是否应该设置为可见 - 决定它是否代表日期更改的东西,并确保检查它不是列表中的第一项(不想在那里随机分隔)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM