如何在运行时在回收视图特定项之间留出空间?

时间:2019-02-15 06:29:16

标签: android android-recyclerview

我有以卡片视图的形式显示的回收视图项目,它工作正常。

方案是我在项目中具有类别,并且每个类别项目都按升序排列,我想要的是类别项目之间的间距,这些类别项目取决于用户添加的内容。

因此,在每个类别列表项之后,运行时将出现一个空格,然后将照常显示其余列表项,如果再次出现另一个类别,则应使用空格来提供空格。下面是图像。

enter image description here

1 个答案:

答案 0 :(得分:0)

比较项目,在每个类别之后,在列表内添加临时类别(用于空间)。然后使用RecyclerView中的异构布局在适配器中充气,即,您可以将多个视口用作列表项。在您的情况下,一种类型将是CardView,另一种将是空白布局(用于空格)并返回如下内容:-

  @Override
    public int getItemViewType(int position) {
      if (items.get(position) instanceof cardCategory) {
        return CardLayout;
      } else if (items.get(position) instanceof spaceCategory) {
        return SpaceLayout;
      }
    return -1;
  }

有关更多信息,请在RecyclerView中搜索异构布局。希望这能解决您的问题。