Skip to content
Davide Steduto edited this page Sep 15, 2016 · 67 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 from different and 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.

Tutorial of the functionalities

The basics

  • Library structure
    Classes and package organization

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

  • Item interfaces
    IFlexible IExpandable IHeader ISectionable IFilterable IHolder IAnimable

  • ViewHolders*
    FlexibleViewHolder ExpandableViewHolder

  • Callbacks*
    Events generated from the Adapter and from the ViewHolders

  • [Extension example]
    An example of a how FlexibleAdapter can be extended and customized

More deep into the functionalities

  • Selection modes
    IDLE SINGLE MULTI

  • Headers and Sections
    The most searched functionality
    Here 2 use cases are presented to create sections with clickable sticky headers

  • [Expandable methods]
    Discover the functionalities around the expandable item that have been implemented

  • Drag&Drop and Swipe
    Pre-implemented ItemTouchHelperCallback

  • [Restore deleted items]
    A complex routine where the items are restored at the right positions, even if the data set is changed. UndoHelper is recommended

  • FastScroller
    Imported library, but improved a lot and modified to fit into FlexibleAdapter

  • EndlessScroll / On Load More*
    How to load more items automatically or by user choice

  • Update Data Set
    How to update the data set when a new list is fetched

  • Search Filter
    Asynchronous process with synchronization animations

  • Adapter Animations
    Fully customizable entry and scrolling animations
    Coherent with scrolling animations

Extensions

  • Smooth Layout Managers
    Layout Managers that support Smooth scrolling

  • [Divider Item Decoration]
    Simple item decoration that supports the Section gaps

  • Utils
    Highlight text and Dynamic background colors with ripple

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

  • UndoHelper*
    A new way to restore deleted items

  • AnimatorHelper
    Simplify the way to add animators for scroll animations

  • [Payload]
    Predefined events in an Enumeration

Demo App


* = Under revision!

Clone this wiki locally