// the find
mikepenz/FastAdapter
The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction...
FastAdapter is a RecyclerView adapter library for Android that abstracts away the boilerplate of item types, ViewHolders, and common interactions like click handling, selection, drag-and-drop, and swipe. It's been around since the AppCompat era and has a solid feature set. Aimed at Android developers who want a conventional View-based list solution without writing the same adapter plumbing for the tenth time.
The extension model is well-designed — you pull in only what you need (diff, drag, paged, swipe) rather than one fat dependency. ViewBinding support via AbstractBindingItem is clean and matches how most teams work today. The EventHook pattern for handling clicks on individual child views inside items is the right abstraction — it avoids the common mistake of setting listeners inside bindView. Sample app covers a wide range of real scenarios (multiselect with CAB, expandable trees, realm integration) which is more useful than the usual toy demo.
This library is fundamentally a View system solution, and Jetpack Compose is now the Android team's default; adopting FastAdapter in a new project means committing to XML layouts and the View lifecycle model. The paged extension wraps the deprecated Paging 2 API — anyone on Paging 3 (the current version) will need to wire things up manually or skip it. Last meaningful update was 2023 and the issues backlog shows it; the Compose migration path doesn't exist and the author hasn't signaled one. The item-owns-its-layout-res pattern couples your data model to a layout resource ID, which feels dated compared to composable functions.