我有3个按钮和一个Recyclerview
。单击每个按钮后,我将更新Recyclerview列表。现在,一个列表将有一个分隔符,而其他列表则没有。我正在使用以下方式将分隔符添加到Recyclerview
列表中:
val divider = DividerItemDecoration(this@HomeActivity, DividerItemDecoration.HORIZONTAL)
divider.setDrawable(ContextCompat.getDrawable(this@HomeActivity, R.drawable.divider)!!)
binding.recyclerView.addItemDecoration(divider)
问题是更新列表时如何动态删除分隔线?
更新:
我正在使用removeItemDecoration()方法清除分隔符。但这不起作用。基本上,我在ViewType
中有三个不同的Recyclerview
。这是我的代码:
if(sectionList[0].layerType == DOUBLE_LIST || sectionList[0].layerType == SINGLE_LIST_AUTO) {
binding.itemRecyclerView.addItemDecoration(divider)
}else{
binding.itemRecyclerView.removeItemDecoration(divider)
}
答案 0 :(得分:0)
根据您的条件,删除分频器并执行以下操作-
while (recycler_view.itemDecorationCount > 0 && (recycler_view.getItemDecorationAt(0)?.let { itemDecoration = it }) != null) {
recycler_view.removeItemDecoration(itemDecoration)
}