java—如何在recyclerview中只在某些元素之间添加分隔符?

o8x7eapl  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(339)

我知道关于recyclerviews的divideritemdecoration,尽管我更感兴趣的是在元素中某个属性发生变化时使用分隔符,而不是每个项目之间的分隔符。例如,保存过帐日期的事务列表-然后在事务列表中的每个日期更改处都会显示分隔符。
这是绝对可能的,但我只是不确定要去做。例如,在monzo应用程序中,是日期分隔了事务行。
任何帮助都将不胜感激!

mwkjh3gx

mwkjh3gx1#

一种方法是将分隔符添加到 ViewHolder 布局,默认为 View.INVISIBLE (或 View.GONE 如果您希望它在可见时占用额外的空间(比如分隔符在列表元素的外部,而不是顶部边缘的内部)
然后在 onBindViewHolder 您可以做一些逻辑来决定是否应该为该项将分隔符设置为visible或not—决定它是否表示日期更改,并确保检查它也不是列表中的第一项(不要在上面使用随机分隔符)

wqnecbli

wqnecbli2#

您将创建一个具有两个viewholder的recycler视图适配器。在monzo应用程序的示例中,您将为购买创建一个viewholder,为日期创建另一个viewholder。然后在 onCreateViewHolder 您可以为该列表中的项充气正确类型的viewholder。

相关问题