# BRVAH — Powerful RecyclerView Adapter Framework for Android > BaseRecyclerViewAdapterHelper (BRVAH) reduces RecyclerView adapter boilerplate with built-in support for multiple item types, animations, drag-and-drop, and expandable sections. ## Install Save in your project root: # BRVAH — Powerful RecyclerView Adapter Framework for Android ## Quick Use ```gradle implementation 'io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4' ``` ```kotlin class MyAdapter : BaseQuickAdapter() { override fun onCreateViewHolder( context: Context, parent: ViewGroup, viewType: Int ) = QuickViewHolder(R.layout.item_layout, parent) override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: Item?) { holder.setText(R.id.title, item?.name) } } ``` ## Introduction BaseRecyclerViewAdapterHelper (commonly known as BRVAH) is the most popular RecyclerView adapter library in the Android ecosystem. It eliminates repetitive adapter boilerplate by providing a base adapter class with built-in support for headers, footers, empty views, multiple item types, click listeners, animations, drag-and-drop reordering, and expandable sections. ## What BRVAH Does - Simplifies RecyclerView adapter creation by reducing boilerplate to a single bind method - Provides built-in header, footer, and empty-state view management without manual view-type handling - Supports multiple item view types through a clean delegate-based registration API - Includes item click and long-click listeners without requiring manual OnClickListener setup - Offers drag-and-drop reordering and swipe-to-dismiss with minimal configuration ## Architecture Overview BRVAH extends RecyclerView.Adapter and manages view types internally through a module system. The core BaseQuickAdapter handles item binding, while optional modules add functionality like animation, load-more pagination, expandable tree structures, and draggable items. Version 4 uses Kotlin and a delegate pattern for multi-type adapters, replacing the older entity-based approach. ## Setup & Configuration - Add the BRVAH dependency from Maven Central to your module-level Gradle file - Extend BaseQuickAdapter and implement onCreateViewHolder and onBindViewHolder - Register item click and child-view click listeners via the adapter API - Add header or footer views by calling addHeaderView or addFooterView on the adapter - Enable load-more by attaching a QuickAdapterHelper with a TrailingLoadStateAdapter ## Key Features - Drastically reduces adapter code compared to writing raw RecyclerView.Adapter subclasses - Multi-type item support through addDelegate registration without manual getItemViewType logic - Built-in item animation module with fade-in, slide-in, and scale-in presets - Expandable and collapsible tree-structure support for hierarchical list data - DiffUtil integration for efficient data updates with automatic animations ## Comparison with Similar Tools - **Epoxy by Airbnb** — annotation-driven adapter framework with more ceremony; BRVAH is lighter and quicker to set up - **Groupie** — similar goal of simplifying adapters; BRVAH has a broader feature set and larger community - **FastAdapter** — feature-rich adapter library; BRVAH offers a simpler API for common use cases - **ConcatAdapter** — Jetpack utility for merging adapters; BRVAH handles headers, footers, and load-more internally - **Compose LazyColumn** — Compose-native list; BRVAH targets View-based RecyclerView projects ## FAQ **Q: Does BRVAH 4 support Java?** A: BRVAH 4 is written in Kotlin but is fully callable from Java projects. **Q: How do I handle pagination with load-more?** A: Attach a TrailingLoadStateAdapter via QuickAdapterHelper and update its state to Loading, NotLoading, or Error based on your data source response. **Q: Can I use it with ListAdapter and DiffUtil?** A: Yes. BRVAH 4 integrates with DiffUtil for efficient item-level updates and animations. **Q: What is the minimum supported Android version?** A: BRVAH 4 requires API 21 (Android 5.0) and above. ## Sources - https://github.com/CymChad/BaseRecyclerViewAdapterHelper - https://github.com/CymChad/BaseRecyclerViewAdapterHelper/wiki --- Source: https://tokrepo.com/en/workflows/asset-a66240d7 Author: AI Open Source