Skip to main content

Top Android RecyclerView Adapter Libraries

Top Android RecyclerView Adapter Libraries.

Android RecyclerView is a powerful UI component that allows you to efficiently display large sets of data in a list or grid format. However, working with RecyclerView can be complex and time-consuming, especially when it comes to implementing adapters. Thankfully, there are several popular libraries available that simplify the process of creating RecyclerView adapters. In this tutorial, we will explore some of the top Android RecyclerView adapter libraries, their features, installation steps, and provide code usage examples.

1. Epoxy

Epoxy is a popular RecyclerView library developed by Airbnb. It simplifies the process of building complex RecyclerViews by using a declarative API. Epoxy allows you to define your RecyclerView items as individual classes, making it easy to manage and update your data.

Features:

  • Simplified item creation using Kotlin or Java classes.
  • Automatic diffing and updating of items.
  • Built-in support for complex layouts, such as grids and multi-level lists.
  • Efficient handling of item clicks and other interactions.
  • Integration with popular libraries like RxJava and LiveData.

Installation:

To add Epoxy to your project, you need to include the following dependency in your app-level build.gradle file:

implementation 'com.airbnb.android:epoxy:4.6.0'
kapt 'com.airbnb.android:epoxy-processor:4.6.0'

Usage:

Here's an example of how to use Epoxy to create a simple RecyclerView with a list of items:

class MyEpoxyController : EpoxyController() {
private var items: List<String> = emptyList()

fun setData(items: List<String>) {
this.items = items
requestModelBuild()
}

override fun buildModels() {
items.forEach { item ->
MyEpoxyModel_()
.id(item.hashCode())
.text(item)
.addTo(this)
}
}
}

class MyEpoxyModel : EpoxyModel<TextView>() {
@EpoxyAttribute
lateinit var text: String

override fun bind(view: TextView) {
view.text = text
}
}

// In your Activity or Fragment
val recyclerView: RecyclerView = findViewById(R.id.recyclerView)
val epoxyController = MyEpoxyController()

recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.setController(epoxyController)

val items = listOf("Item 1", "Item 2", "Item 3")
epoxyController.setData(items)

For more information and advanced usage, refer to the Epoxy GitHub repository.

2. Groupie

Groupie is another popular RecyclerView adapter library that simplifies the process of creating complex RecyclerViews. It provides a high-level API for building heterogeneous lists with different item types.

Features:

  • Easy creation of different item types with minimal boilerplate code.
  • Support for nested groups and sections.
  • Drag-and-drop and swipe-to-dismiss functionality.
  • Automatic diffing and updating of items.
  • Integrations with popular libraries like RxJava and LiveData.

Installation:

To include Groupie in your project, add the following dependency in your app-level build.gradle file:

implementation 'com.xwray:groupie:2.9.0'

Usage:

Here's an example of how to use Groupie to create a simple RecyclerView with multiple item types:

data class HeaderItem(val title: String) : Item<GroupieViewHolder>() {
override fun getLayout(): Int = R.layout.item_header

override fun bind(viewHolder: GroupieViewHolder, position: Int) {
viewHolder.itemView.titleTextView.text = title
}
}

data class TextItem(val text: String) : Item<GroupieViewHolder>() {
override fun getLayout(): Int = R.layout.item_text

override fun bind(viewHolder: GroupieViewHolder, position: Int) {
viewHolder.itemView.textView.text = text
}
}

// In your Activity or Fragment
val recyclerView: RecyclerView = findViewById(R.id.recyclerView)
val groupAdapter = GroupAdapter<GroupieViewHolder>()

recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.adapter = groupAdapter

val items = listOf(HeaderItem("Header"), TextItem("Item 1"), TextItem("Item 2"))
groupAdapter.update(items)

For more information and advanced usage, refer to the Groupie GitHub repository.

Additional Libraries:

  • FastAdapter: A flexible and efficient RecyclerView library with built-in item click handling and support for multiple item types. GitHub Repository

  • MultiType: A lightweight and flexible RecyclerView library for handling multiple item types. GitHub Repository

  • UltimateRecyclerView: An advanced RecyclerView library with features like swipe-to-dismiss, headers, footers, and more. GitHub Repository

  • SmartRecyclerAdapter: A library that simplifies working with RecyclerView by providing a high-level API for creating adapters. GitHub Repository

  • FlexibleAdapter - Fast and versatile Adapter for RecyclerView which regroups several features into one library to considerably improve the user experience :-).

  • RecyclerView-MultipleViewTypesAdapter - Android library defining adapter classes of RecyclerView to manage multiple view types.

  • FastAdapter - The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction....

  • Renderers - Renderers is an Android library created to avoid all the boilerplate needed to use a RecyclerView/ListView with adapters..

  • RecyclerExt - Android RecyclerView Extension library.

  • RecyclerViewPresenter - RecyclerView Adapter Library with different models and different layouts as convenient as possible..

  • FeatureAdapter - FeatureAdapter (FA) is an Android Library providing an optimized way to display complex screens on Android..

  • HeaderRecyclerView - HeaderRecyclerView is an Android library created to be able to use RecyclerView.Adapter with a header in a easy way. To use this library create your RecyclerView.Adapter classes extending from HeaderRecyclerViewAdapter..

  • EasyAdapter - Recyclerview adapter library- Create adapter in just 3 lines of code.

  • Antonio - Android library for the adapter view (RecyclerView, ViewPager, ViewPager2).

  • ARVI - Android library designed to simplify the implementation of the video autoplay in the RecyclerView.

  • TableView - TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells..

  • google-books-android-viewer - Android library to bridge between RecyclerView and sources like web page or database. Includes demonstrator (Google Books viewer).

  • klaster - Declare RecyclerView adapters in a functional way, without boilerplate and subclassing. No compromises on flexibility. If it's possible to do something by subclassing, it's possible to do it with this library. .

  • easy-header-footer-adapter - An Android library which adds headers and footers to the RecyclerView..

  • rv-joiner - Android RecyclerView Joiner Library allows you to join several RecyclerView adapters and layouts into single RecyclerView adapter. Optionally, joined layouts can be used to add header, footer and devider to your RecyclerView..

  • Lego - Lego is an elegant Android library for implement powerful RecyclerView's Adapter..

  • HeterogeneousAdapter - [Deprecated] A library for RecyclerView to easily display lists with various types of items.

  • SuperAdapter - A Super simple library can be used for inserting elements in between RecyclerView's elements..

  • frogo-admob - Library Helper For Implementation All Admob Function.

  • Generic-RecyclerView-Adapter - An android library to simplify and remove the boilerplate of creating RecyclerView adapters.

  • blender - Android library project that intends to simplify the usage of Adapters for recyclerView using Data Binding. You won't have to code any adapter again!.

  • adapster - Android library designed to enrich and make your RecyclerView adapters more SOLID.

  • KM-Quick-Adapter - You can create recyclerview adapter and pagedlist adapter easily with this library.

  • Elements-Deprecated - A library of reusable components for RecyclerView, simplifying the development of complex adapters..

  • CandyView-Library - Implement any RecyclerView in your Andoird App with just 1 Line. CandyView Library handles everything for you using Reflection in Java. .

  • singleadapter - Library RecyclerView Adapter yang dapat digunakan berulang.

  • epic-adapter - Library for RecyclerView adapters with ViewBinding.

  • Sectioner - An Android RecyclerView.Adapter management library that makes creating and editing heterogenous view based lists easy..

  • FancyTable - Android library to implement two-direction scrollable table with adjustable number of docked/fixed columns and rows and/or with one-column rows that fill the width of parent which makes it look like multiple sub-tables with headers inside the main table.

  • SimpleAdapter - Simplified RecyclerView Adapter library for android. .

  • GroupingRecyclerView - Android library. Grouping RecyclerView Adapter sorts items, generates group headers, collapses/expands groups..

  • CursorRecyclerAdapter - Library containing an adapter that exposes data from a Cursor to a RecyclerView widget..

  • section-recyclerview - Library for android. RecyclerView adapter with header section.

  • KotlinRecycler - RecyclerView Adapter library using Kotlin.

  • MultiLevelAdapter - Android library to allow collapsing and expanding items in RecyclerView's Adapter on multiple levels.

  • custom-adapter - Library yang memudahakan Native Android Developer dalam menggunakan RecyclerView..

  • RecyclerViewAdapter - Android library that facilitates the use and configuration of RecyclerView..

  • EasyAdapter - Recyclerview adapter library- Create adapter in just 1 line of code.

  • EasyAdapter - Library to create Recycle View without Adapter Class.

  • EasyAdapter - A powerful yet lightweight view injection & list creation library to easily and quickly create complex lists in the RecyclerView on Android..

  • knex - Knex is a full Kotlin Android library created to avoid all the boilerplate needed to use a RecyclerView with adapters..

  • RecyclerViewAssemblerAdapter - This library allows you to combine any types of Recyclerview adapters easilly without the need to modify or create any new Recycler view adapter.

  • base-recyclerview-adapter - A general purpose RecyclerView adapter library which can be used with any data model (sort of) and any item row view (with the help of DataBinding).

  • RecyclerAdapter - Little library android to create RecyclerView Adapter for simple and fast way.

  • tAdapter - A library simplify Android RecyclerView adapter creating progress..

  • fast-recyclerview-android-kt - Fast-RecyclerView is a kotlin library to use RecyclerView easily without ViewHolder and Adapter..

  • Android-GenericRecyclerAdapter - RecyclerView generic adapter library.

  • SimpleRecyclerAdapter - Android RecyclerView Adapter Library.

  • SimpleAdapter - A simple RecyclerView adapter library for Android.

  • custom-adapter-recyclerview - Contoh pengguanan library Custom Adapter pada RecyclerView Native Android..

  • BoilrBite - light-wight library that eliminates the need to create a custom recycler adapter.

  • AndroidAdapters - A library, which provides various Adapters for Android apps.

  • simple-recyclerview-adapter - Android library written in Kotlin to simplify creating adapters for RecyclerView..

  • GenericRecyclerviewAdapter - Android library for a single recyclerView adapter in the whole application.

  • MergeRecyclerAdapter - Android library for merged RecyclerView adapter allowing nested adapters..

  • Palex-Adapter - Android RecyclerView Adapter Library to Build Multiple, Single Items Easly.

  • chumroll - android dynamic adapter library .

  • JZRecyclerAdapter - Library that creates a generic RecyclerAdapter for the android RecyclerView.

  • rv_helper - A library that will help you create RecyclerView.Adapter for lists in an android application.

  • Android-Binding-Adapters - This library will simply your effort to implement chat or other recyclerview adapters which is using Databinding library.

  • RecyclerGenericAdapter - This is an Android library used to avoid writing an adapter for your RecyclerView every time and write less code to populate RecyclerView with any type of model and with any layout..

  • RecyclerViewBindingAdapter - Library providing a powerful yet reusable RecyclerView adapter that leverages ObservableArrayList and DataBinding to simplify your life. Tell the adapter which layouts your models map to and then just modify your observable list and the adapter takes care of the rest. Its that simple!.

  • adapter-delegates - An opinionated library for working with RecyclerView adapters.

  • RecyclerView-MultipleViewTypesAdapter - Android library defining adapter classes of RecyclerView to manage multiple view types.

  • MultiViewAdapter - Library for easily displaying multiple view types in RecyclerView adapter. You don't even need to write custom adapter and ViewHolder..

  • Easy-Adapter - It is the simple android library made in kotlin which implement Recyclerview Adapter..

  • AlphabetRecyclerView - AlphabetRecyclerView is an Android library created to be able to use RecyclerView.Adapter with a header in a easy way..

  • MultipleRowAdapter - Library for android to add multiple types of rows into a recyclerview.

  • BasicRecyclerAdapter - A library supported multiple type, header, footer features in recyclerview easily for android..

  • RecyclerViewCompat - Recycler View Compat (rvcompat) is a flexible compatible library for fast scroll recycler view, adapter and view holder with support of OnClickListener, OnLongClickListener and many more..

  • UniversalAdapter - Are you have many RecyclerView adapters in your Android Studio project? This library will reduce their count..

  • LazyAdapter - Android Library that provides adapter for RecyclerView for more easier and clean way to work with it.

  • Recce - An powerful adapter library for Native Android.

  • easy-recycler-binding - ERB is an library with some useful Kotlin Android data bindings adapters for RecyclerView, ViewPager and ViewPager2 with multiply ViewHolders view.

  • SlimAdapter - SlimAdapter is a tiny library for fast creating adapters for RecycleView.

  • dataadapter - An Android library to quickly and easily build RecyclerView adapters out of any data source..

  • ImageLibrary - this is based on simple recyclerview and Adapter, image loading library android app in java..

  • observablist - 👓 An Android library for observable lists ultimately used with RecyclerView Adapters..

  • DelegateAdapter - This library contains a DelegateAdapter, which is an adapter you can link with your RecyclerView in any Android project. You can define all your views as Delegates, and then insert them into this adapter..

  • android-components - A collection of reusable Android components like RecyclerViews with adapters, ListViews with floating action buttons and much more. The intention of this library is to reduce the time consumed in developing most commonly used Android controls and classes..

These libraries offer various features and APIs to simplify working with RecyclerView adapters. Choose the one that best suits your project requirements and start building efficient and interactive RecyclerViews with ease.