Core-Adapter supports any type of items in
RecyclerView with no pain.
Android comes with a few "wrapper" classes, like
CursorWrapper, that make it relatively easy for you to add just a bit of functionality to an existing object. The wrapper delegates all behaviors to the wrapped object; you just override the specific behaviors you need. This works well in cases where there are many possible underlying implementations, so you could not robustly accomplish these ends by subclassing.
Android lacks such a wrapper for
ListAdapter, though. There is a
WrappedListAdapter entry in the SDK, but it is an interface, not an implementation.
So, CWAC offers an
AdapterWrapper to fill this void.
MergeAdapter accepts a mix of Adapters and Views and presents them as one contiguous whole to whatever ListView it is poured into. This is good for cases where you have multiple data sources, or if you have a handful of ordinary Views to mix in with lists of data, or the like.
Simply create a
MergeAdapter and call addAdapter(), addView(), or addViews() (latter accepting a List
There is also
MergeSpinnerAdapter for use with Spinner widgets.
This project offers an
ArrayPagerAdapter that offers another alternative PagerAdapter implementation for use with ViewPager.
ListView in Android supports header and footer views - views that do not belong to the underlying adapter but otherwise show up in the list and scroll along with the contents. However, they only work if you have not yet set your own adapter and are therefore not terribly flexible.
SackOfViewsAdapter is another way of approaching this. Here, you provide the
Views that make up the rows, and the adapter feeds them to Android as if they were newly created.
SackOfViewsAdapter is designed to be sub-classed, mostly to determine how isEnabled() behaves, so you can control which of those views are selectable and which simply scroll with the list.
StrictMode is a handy feature in API Level 9 and higher, telling you where your Android application is doing things it probably should not on the main application thread.
In the spirit of
StrictModeEx project offers classes to help you diagnose similar sorts of problems beyond what StrictMode itself offers.
Right now, that consists of one class:
ListAdapter wrapper will log slow-running getView() calls, plus optionally give you an overall performance view on how your
Adapter is doing in the code you control.
Super simple RecyclerView adapter using Data Binding Technology.
The easiest way to declare
RecyclerView Adapters! No more boilerplate code.
Easiest way to declare RecyclerView Adapters in Android with Kotlin! No more boilerplate code.
A small and yet powerful library, which greatly simplifies building lists of different items.
Drag and Drop adapter implementation for
RecyclerView. Targeted to support any LayoutManager and ItemAnimator.
The DynamicPagerAdapter extends Android's PagerAdapter to do four important things:
Has an accessible HashMap View cache using ViewHolders. The default implementaiton has caching, but it isn't enforced and users of the PagerAdapter don't get access to it.
Provides the capability to use multiple view types just like RecyclerView.
Handles data set changes in a much more friendly way, allowing items to be removed, added, etc. with less issues and effort on your end.
Includes optional discard animations. These are exposed for you to call when you want or to override and create your own.
Easiest way to use
RecyclerView. Reduce boilerplate code! You don't need to write adapters for listing pages anymore!
Using AdapterViews has never been so easy. Inspired by the view holder design pattern, this library provides an easier way of linking AdapterViews and the underlying data for that view without having to implement your own Adapter. The EasyAdapter will do the tedious work for you.
This project demonstrates of simple approach for implementation complex lists, based on RecyclerView.
You don't need call methods notify...(), beсause it is called automatically when you set data. You also don't need extend
You need only create
ItemController for each type of list items and describe order of elements in
Fragment. ItemController incapsulates all interactions with list item, so it is very easy for reading, modifying and reusing.
RecyclerView adapter in just 1 line
Add a header and/or footer to your
RecyclerView - the easy way.
Whenever you want to display custom items in listview, then only way to achieve this is to implement your own subclass of BaseAdapter, handle all rendering, recycling, click handling, data browsing youself in getView() method. It becomes very messy as number of rows increase in your adapter, Making your code very messy & non-reusable. This library allows you to make Modular classes which will help you to introduce new row type easily.
The code brings up an easy way of using recyclerView, with the new recycler adapters. It also contains a
BaseRecyclerFragment and a
RecyclerStandalone that removes a lot of boiler plate for fragments that contains either grids or lists. It also offers out of the box a
DividerItemDecoration that handles the drawing of the divider in the recycler view. As well selectors for the items in your lists are handled.
Small and lightweight extensions to
RecycerView.Adpter which adds missing
GridView features to RecyclerView.
EfficientAdapter is an efficient adapter to make the use of RecyclerView much easier.
An adapter which supports "drag and expand" event.
Simple library for DRY recycler adapter.
The RecyclerView is one of the most used widgets in the Android world, and with it you have to implement an Adapter which provides the items for the view. Most use cases require the same base logic, but require you to write everything again and again.
The FastAdapter is here to simplify this process. You don't have to worry about the adapter anymore. Just write the logic for how your view should look like, and you are done.
FlagChatAdapter is easy to implement enchanting recycler view adapter. Just extend your adapter with
FlagChatAdapter, implement some methods and voila! You have got the most beautiful looking chat on your phone. Zero boilerplate code, just put your variables in the right direction.