Flutter package for listview with pagination.

Warning I build this package for my own usage. I not perform test outside my own needs and my flutter environment.


  • List Items can be grouped
  • List Items can be selected or unselected
  • List support pagination

Basic Usage

Create Future function to fetch data

Future<List<DyItemData<String>>> _fetchApi(DyFetchParam param) async {
    await Future.delayed(const Duration(seconds: 5));
    return [

Setup list controller

DyListViewController<String> controller =
      controller = DyListViewController<String>(
        direction: Axis.vertical,
        refreshStateParentWidget: () {
          setState(() {});
        fetchData: _fetchApi,

Passing list controller to widget

        controller: controller,
        itemBuilder: (context, index, item) {
          return Ink(
            child: InkWell(
              onTap: () => controller.selectItem(
                  data: item, isSetToSelected: !item.isSelected),
              child: _Item(
                data: item.data,
                currentPage: item.page,
                isSelected: item.isSelected,

Migrate from prev version

  • (Breaking Changed) Migrate from SelectPagingListView, PageableListView to DyListView

For more usage examples, please take check out the example project.