buildItem method

Widget buildItem(
  1. BuildContext context,
  2. int index,
  3. Iterable<T> source
)

Implementation

Widget buildItem(BuildContext context, int index, Iterable<T> source) {
  if (index ==
      (childCount ??
          childCountBuilder?.call(source.length) ??
          source.length)) {
    final Widget? widget = buildErrorItem(context);
    if (widget != null) {
      return widget;
    }

    final IndicatorStatus status = sourceList.hasMore
        ? IndicatorStatus.loadingMoreBusying
        : IndicatorStatus.noMoreLoad;

    if (sourceList.hasMore && autoLoadMore) {
      sourceList.loadMore();
    }

    Widget? widget1;
    if (indicatorBuilder != null) {
      widget1 = indicatorBuilder!(context, status);
    }
    widget1 = widget1 ?? IndicatorWidget(status, isSliver: isSliver);
    return widget1;
  }
  final int actualIndex = getActualIndex?.call(index) ?? index;
  return itemBuilder(
    context,
    source.elementAt(actualIndex),
    actualIndex,
  );
}