ConfigsJul 23, 2026·3 min read

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.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
BRVAH
Direct install command
npx -y tokrepo@latest install a66240d7-86d7-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

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

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets