Skip to content
Gabrielle Demberck edited this page Jul 28, 2022 · 128 revisions

Welcome to the FlexibleAdapter Wiki

The library has been completely rebuilt, deeply optimized and classes refactored in order to have a multitude of functionalities inside an unique library, without the need to adapt the code among not compatible third libraries.

Thanks to the new concept of item interfaces, which internally hold some precious flags, the Adapter can distinguish the status of each item and performs actions on them keeping synchronized the main list.

The ViewHolders receive the events from the users and allow or disallow an action depending the current situation with the ActionMode and the item selection status.

Adapter and ViewHolders, have some configuration where the developer can customize the behaviors for the own use case.

Layout Linear Layout Grid Layout Staggered Grid

Tutorial of the functionalities

The basics

  • Library structure
    Classes and package organization

  • Setting Up
    Short step-by-step for Adapter creation and initialization

  • Setting Up Advanced
    More advanced configuration and how FlexibleAdapter can be extended and customized

  • Item interfaces
    IFlexible IExpandable IHeader ISectionable IFilterable IHolder

  • ViewHolders
    FlexibleViewHolder ExpandableViewHolder AnimatedViewHolder

  • Callbacks
    Events generated from the Adapter and from the ViewHolders

  • Migrations
    If you early adopted a beta version and want to upgrade to the most recent release

More deep into the functionalities

UI extension 👓

  • Smooth Layout Managers
    Layout Managers that support Smooth scrolling

  • Flexible Item Decoration
    Advanced item decoration that can display the Section gaps, item offsets and custom dividers

  • Utils
    Highlight text, accent color fetching and Dynamic background colors with ripple

  • ActionModeHelper
    It's now very easy to add the ActionMode and manage multiple selections with FlexibleAdapter

  • AnimatorHelper
    Simplify the way to add animators for scroll animations

  • EmptyViewHelper
    Simplify the handling of empty views.

  • UndoHelper
    A new way to restore deleted items

Others experimental extensions

  • LiveData
    Independent extension library to transform LiveData into Adapter items

  • Databinding*
    Independent extension library for Databinding

Demo App


* = Under revision!

Clone this wiki locally