All Projects → DavidPacioianu → TheGreatAdapter

DavidPacioianu / TheGreatAdapter

Licence: Apache-2.0 license
Multiple items adapter made too easy, including headers and footers.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to TheGreatAdapter

ARVI
Android library designed to simplify the implementation of the video autoplay in the RecyclerView
Stars: ✭ 69 (+50%)
Mutual labels:  adapter, recyclerview
MixAdapter
Compose multiple Adapter for RecyclerView in Android
Stars: ✭ 19 (-58.7%)
Mutual labels:  adapter, recyclerview
Easyadapter
Android 轻量级适配器,简化使用,适应所有的AbsListView、RecyclerView。支持HeaderView与FooterView~
Stars: ✭ 160 (+247.83%)
Mutual labels:  adapter, recyclerview
Sectionedrecyclerviewadapter
An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers. Each Section can have its state controlled individually.
Stars: ✭ 1,659 (+3506.52%)
Mutual labels:  adapter, recyclerview
PrimeAdapter
PrimeAdapter makes working with RecyclerView easier.
Stars: ✭ 54 (+17.39%)
Mutual labels:  adapter, recyclerview
Kotlin Adapter
🔥 RecyclerView,AbsListView适配器, 支持多种视图样式, 支持吸顶、侧滑删除、拖拽效果
Stars: ✭ 132 (+186.96%)
Mutual labels:  adapter, recyclerview
Easyadapter
This project demonstrates simple approach for implementation complex lists, based on RecyclerView.
Stars: ✭ 187 (+306.52%)
Mutual labels:  adapter, recyclerview
Flagchatadapter
FlagChatAdapter is easy to implement enchanting recycler view adapter. Just extend your adapter with FlagChatAdapter, impliment 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.
Stars: ✭ 39 (-15.22%)
Mutual labels:  adapter, recyclerview
Dsladapter
🔥 Kotlin时代的Adapter, Dsl 的形式使用 RecyclerView.Adapter, 支持折叠展开, 树结构,悬停,情感图状态切换, 加载更多, 多类型Item,侧滑菜单等
Stars: ✭ 231 (+402.17%)
Mutual labels:  adapter, recyclerview
Commonadapter
一个适用于ListView/GridView/RecyclerView的Adapter库,简化大量重复代码,支持多种布局,可自定义图片加载的实现。
Stars: ✭ 219 (+376.09%)
Mutual labels:  adapter, recyclerview
Poweradapter
Adapter for RecyclerView(only 21KB).RecyclerView万能适配器(仅21KB)
Stars: ✭ 112 (+143.48%)
Mutual labels:  adapter, recyclerview
MultiTypeAdapter
RecyclerView通用多类型适配器MultiTypeAdapter,以布局文件为单位更细粒度的条目复用。
Stars: ✭ 18 (-60.87%)
Mutual labels:  adapter, recyclerview
Recyclerviewpresenter
RecyclerView Adapter Library with different models and different layouts as convenient as possible.
Stars: ✭ 86 (+86.96%)
Mutual labels:  adapter, recyclerview
Recyclerviewadapter
A RecyclerView Adapter that support load more and add headerview
Stars: ✭ 141 (+206.52%)
Mutual labels:  adapter, recyclerview
Grouprecyclerviewadapter
可增删改查、可动画展开收起、可吸附悬浮动态可配置的分组列表
Stars: ✭ 41 (-10.87%)
Mutual labels:  adapter, recyclerview
Sherlockadapter
一个万能的封装了RecyclerView.Adapter的功能库。
Stars: ✭ 186 (+304.35%)
Mutual labels:  adapter, recyclerview
Candyview
Implement any RecyclerView in just 1 Line. CandyView handles everything for you.
Stars: ✭ 15 (-67.39%)
Mutual labels:  adapter, recyclerview
Google Books Android Viewer
Android library to bridge between RecyclerView and sources like web page or database. Includes demonstrator (Google Books viewer)
Stars: ✭ 37 (-19.57%)
Mutual labels:  adapter, recyclerview
Multiselectadapter
MultiSelectAdapter可以让你的Adapter快速实现多选和批量操作
Stars: ✭ 195 (+323.91%)
Mutual labels:  adapter, recyclerview
InstantRecyclerView
A library that helps to implement a complex list with RecyclerView.(RecyclerView使用的封装与优化,帮助你快速利用RecyclerView构建复杂列表)
Stars: ✭ 22 (-52.17%)
Mutual labels:  adapter, recyclerview

TheGreatAdapter

Android Arsenal Platform API Download GitHub license

Multiple items adapter made easy, including headers and footers.


Preview in WallSnap


Gradle Dependency

dependencies {
    compile 'com.pacioianu.david:the-great-adapter:0.1.0'
}

Usage

Simple usage:

GreatAdapter adapter = new GreatAdapter.Builder(context).build();

The magic of this adapter is that you can add any item, its class just has to implement the GreatItem interface.

Note:

  • Every class that implements the GreatItem interface must have a no-args constructor.
  • getItemType method must return a unique integer for every class.
  • getItemId method must return a unique id for every instance of the class.
  • getSpanSize method return the span size of every instance of the class, to make them match the full span size of the layout manager, return -1.
  • If you just want to add a one-time-use view to your recyclerview, use the SimpleItemView class. You just pass it the view you want to show, without the need of creating a useless viewholder. adapter.add(new SimpleViewItem(yourView);

Full builder options list:

new GreatAdapter.Builder(context)
        .enableLoadMore(true) // default false
        .loadItemsThreshold(2) // default 0
        .loadListener(yourLoadListener)
        .dividerSizeDp(2) // defaut 0
        .loadMoreView(yourCustomLoadMoreView)
        .loadFailedView(yourCustomLoadFailedView)
        .build();

To add/get/remove any header or footer, use:

adapter.addHeader(yourHeader);
adapter.addFooter(yourFooter);
adapter.getHeader(position);
adapter.getFooter(position);
adapter.removeHeader(yourHeader);
adapter.removeFooter(yourFooter);

Apps using the TheGreatAdapter

(feel free to send me your project)

Icon Application
WallSnap

Community

Looking for contributors, feel free to fork!


License

Copyright 2017 David Păcioianu

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].