【发布时间】:2020-04-07 21:31:58
【问题描述】:
正如标题所描述的,我只想要项目之间的间距。不在第一项之前或最后一项之后。我尝试在我的适配器的onBindViewHolder 方法中以编程方式使用填充并从第一项和最后一项中删除填充。
if (position == 0)
holder.itemView.setPadding(0, 0, holder.itemView.getPaddingRight(), 0);
else if (position == getItemCount() - 1)
holder.itemView.setPadding(holder.itemView.getPaddingLeft(), 0, 0, 0);
但是当我添加或删除项目时,第一个和最后一个项目的位置可能会改变。由于它们没有重新绑定到视图,因此它们的填充保持不变。例如,我有一个这样的列表:1* *2* *3。我删除 3:1* *2* 并插入 4、5:1* *2* *4 *5(* 表示填充)。我希望我解释清楚了。
我也尝试了ItemDecorations,但由于我使用的是动态列表,因此找不到动态方法来删除最后一项的装饰。
【问题讨论】:
标签: android android-recyclerview