优化下面的代码,让最后一个item没有Decoration
时间: 2024-03-10 15:45:48 浏览: 23
优化代码
如果想让最后一个 item 没有 Decoration,可以在 RecyclerView.Adapter 的 onBindViewHolder 方法中判断当前 item 是否为最后一个,如果是则不设置 Decoration,否则设置 Decoration。以下是示例代码:
```java
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
// 判断当前 item 是否为最后一个
if (position == getItemCount() - 1) {
// 最后一个 item 不设置 Decoration
holder.itemView.setBackground(null);
} else {
// 其他 item 设置 Decoration
holder.itemView.setBackgroundResource(R.drawable.item_decoration);
}
// 绑定数据
// ...
}
```
上述代码中,`getItemCount()` 方法可以获取 RecyclerView 中 item 的总数,`getItemViewType(int position)` 方法可以根据 position 获取当前 item 的类型。在 `getItemCount()` 方法中要注意,如果 RecyclerView 中的 item 数量为 0,那么在使用 `getItemCount()` 方法时应该返回 0 而非 1。
阅读全文