android - 如何仅在 RecyclerView 上的项目之间添加间距?
问题描述
正如标题所描述的,我只想要项目之间的间距。不在第一项之前或最后一项之后。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
(*
表示填充)。我希望我解释清楚。
我也尝试过ItemDecoration
s,但由于我使用的是动态列表,因此找不到删除最后一项装饰的动态方法。
解决方案
您可以在适配器中执行此操作:
if(position == 0 || position == numlist.size()-1){
// I assume the list name is numlist
holder.asterisk.setVisibility(View.GONE);
// I assume the item name is asterisk
}
推荐阅读
- dart - 颤振位置小部件
- c# - 照片矩阵
- xamarin - Xamarin.Forms UWP - 将 WebView.Source 设置为 HtmlWebViewSource 两次处理脚本
- liquibase - Liquibase 上下文中的括号和逗号
- php - 如何在一个项目中添加数组项目?
- spring - OneToMany 不返回从其他实体保存的值
- javascript - Google Maps API 和 Angular 1 中的变量范围
- python - Python从查询创建嵌套的html表
- javascript - admin.auth().currentUser; 在云函数中返回未定义
- css - CSS 通过“react-scripts build”命令破坏部署