使用弹性适配器的粘滞节头RecyclerView?

时间:2019-06-15 04:48:15

标签: java android

我正在尝试开发具有所需项目编号的粘滞部分标题的应用程序。 我浏览了各种教程和示例。我发现灵活适配器最合适。但是我找不到描述如何实现此应用程序的任何教程或示例。我无法理解GitHub Repo中的代码和描述。

这就是我的目标。

Fruits    3 items     ---- Section Header
  Mango
  Apple
  Orange
Animals     5 items     ---- Section Header
  Cat
  Rat
  Elephant
  Rabbit
  Got

我必须在整个8个项目之间的任意位置添加标题。

请帮助.....

这是示例

3 个答案:

答案 0 :(得分:0)

如果要实现“一个RecyclerView +多种类型的ViewHolder(view)”方案,则必须实现

适配器类中的

getItemType

在这种方法中,您可以处理带有参数位置的项目类型。

onCreateViewHolder 中,您可以使用带有第二个参数的类型,而只需创建另一个ViewHolder。

答案 1 :(得分:0)

尝试ExpandableListView展开每个标题的子项目。

答案 2 :(得分:0)

FlexibleAdapter库中,您没有创建自己的适配器,而是创建了项并用AbstractFlexibleItem进行了扩展,然后将项列表传递给FlexibleAdapter

首先使用AbstractFlexibleItem

创建您的Item对象
public class YourItem extends AbstractFlexibleItem<YourItem.MyViewHolder> {}

see complete Item example in the doc

然后只获取您的物品列表,然后将其传递给适配器:

List<IFlexible> yourItems = getListOfItems();

FlexibleAdapter<IFlexible> adapter = new FlexibleAdapter<>(yourItems);

recyclerView.setAdapter(adapter);

现在,如果要创建部分,则只需像普通项目一样简单地创建一个部分项目,然后将其添加到数据列表中即可。部分项将定义如下:

public class YourHeader
        extends AbstractHeaderItem<YourHeader.HeaderViewHolder>
        implements IFilterable<String> {}

see complete header item example in example file