如何在RecyclerView Android中删除已添加的分隔线

时间:2019-07-02 07:22:51

标签: android android-recyclerview

我有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)
    }

1 个答案:

答案 0 :(得分:0)

根据您的条件,删除分频器并执行以下操作-

while (recycler_view.itemDecorationCount > 0 && (recycler_view.getItemDecorationAt(0)?.let { itemDecoration = it }) != null) {
    recycler_view.removeItemDecoration(itemDecoration)
}