cached_listview 2.0.0

Flutter Android iOS web

🧾 Flutter widget allowing easy cache-based data display in a ListView featuring pull-to-refresh and error banners.

This package is no longer maintained, because it has been moved to a new location: flutter_cached

Original documentation:

When building a screen that displays a cached list of items, there are many special cases to think about.

For example, on material.io there are guidelines on how to handle displaying offline data, how pull-to-refresh should be implemented and when to use error banners or empty states.

This package tries to make implementing cached ListViews as easy as possible.

loading with no data in cacheloading with data in cacheloading successful
error with no data in cacheerror with data in cacheno data available

Usage #

First, create a CacheController. This will be the class that orchestrates the fetching of data.

var cacheController = CacheController<Item>(
  // Does the actual work and returns a Future<List<Item>>.
  fetcher: _downloadData,
  // Asynchronously saves a List<Item> to the cache.
  saveToCache: _saveToCache,
  // Asynchronously loads a List<Item> from the cache.
  loadFromCache: _loadFromCache,
);

Then you can create a CachedListView in your widget tree:

CachedListView(
  controller: cacheController,
  itemBuilder: (context, item) => ...,
  errorBannerBuilder: (context, error) => ...,
  errorScreenBuilder: (context, error) => ...,
  emptyStateBuilder: (context) => ...,
),

CachedRawBuilder

CachedRawCustomScrollView

CachedCustomScrollView

CachedListView

0
likes
110
pub points
59%
popularity

🧾 Flutter widget allowing easy cache-based data display in a ListView featuring pull-to-refresh and error banners.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploader

marcel.garus@gmail.com

License

unknown (LICENSE)

Dependencies

flutter, list_diff, meta, pull_to_refresh

More

Packages that depend on cached_listview