xinzhazha / Recyclerview
支持下拉刷新,上拉加载,Header,Footer,复杂多种数据结构类型
Stars: ✭ 305
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Recyclerview
kandy
Sweet Android libraries written in Kotlin
Stars: ✭ 19 (-93.77%)
Mutual labels: recyclerview-adapter
SimplifiedRecyclerview
An android library to help you get rid of boiler plate code when setting up Recyclerview
Stars: ✭ 19 (-93.77%)
Mutual labels: recyclerview-adapter
jubako
A small API to help display rich content in a RecyclerView such as a wall of carousels
Stars: ✭ 28 (-90.82%)
Mutual labels: recyclerview-adapter
mini-project
An android eCommerce application for students through which they can buy and sell used goods .
Stars: ✭ 26 (-91.48%)
Mutual labels: recyclerview-adapter
AccordionRecycler
Android RecyclerView Adapter with nested items & expand/contract functionality
Stars: ✭ 17 (-94.43%)
Mutual labels: recyclerview-adapter
InfiniteScrollRecyclerView
Enables the RecyclerView to Auto scroll for indefinite time.
Stars: ✭ 49 (-83.93%)
Mutual labels: recyclerview-adapter
Chipslayoutmanager
ANDROID. ChipsLayoutManager (SpanLayoutManager, FlowLayoutManager). A custom layout manager for RecyclerView which mimicric TextView span behaviour, flow layouts behaviour with support of amazing recyclerView features
Stars: ✭ 3,138 (+928.85%)
Mutual labels: recyclerview-adapter
SuperAdapter
A Super simple library can be used for inserting elements in between RecyclerView's elements.
Stars: ✭ 18 (-94.1%)
Mutual labels: recyclerview-adapter
TimerInRecyclerView
Handling multiple Countdown timers in Recyclerview
Stars: ✭ 27 (-91.15%)
Mutual labels: recyclerview-adapter
ModularAdapter
The RecyclerView.Adapter that makes your life simple!
Stars: ✭ 14 (-95.41%)
Mutual labels: recyclerview-adapter
DiverseRecyclerAdapter
A small and yet powerful library, which greatly simplifies building lists of different items
Stars: ✭ 16 (-94.75%)
Mutual labels: recyclerview-adapter
infinity
[Deprecated] Infinite paginated RecyclerView scrolling
Stars: ✭ 27 (-91.15%)
Mutual labels: recyclerview-adapter
E-commerceCustomerFYP
Android E-commerce Platform. Allow customer to buy product, chat, feedback rating, make payment to retailer
Stars: ✭ 41 (-86.56%)
Mutual labels: recyclerview-adapter
Tableview
TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells.
Stars: ✭ 2,928 (+860%)
Mutual labels: recyclerview-adapter
RvClickListenerExample
Example showing the implementation of onItemClickListener & getAdapterPosition() in RecyclerView.
Stars: ✭ 22 (-92.79%)
Mutual labels: recyclerview-adapter
BindingListAdapter
Say goodbye to repeated, redundant custom Adapters , Make the developer's focus on the data, beacuse data-driven UI (告别反复、冗余的自定义Adapter,让开发者的重点落在数据上,做到数据驱动UI)
Stars: ✭ 111 (-63.61%)
Mutual labels: recyclerview-adapter
Kiel
Kotlin way of building RecyclerView Adapter 🧩. You do not have to write RecyclerView Adapters again and again and suffer from handling of different view types. Kiel will help you.
Stars: ✭ 297 (-2.62%)
Mutual labels: recyclerview-adapter
Recyclerviewevent
RecyclerView onItemClick、onItemLongClick、drag、swipe、divider、reuse disorder RecyclerView 梳理:点击&长按事件、分割线、拖曳排序、滑动删除、优雅解决 EditText 和 CheckBox 复用错乱问题
Stars: ✭ 265 (-13.11%)
Mutual labels: recyclerview-adapter
RecyclerELE
Android Library for easy addition of Empty, Loading and Error views in a RecyclerView
Stars: ✭ 27 (-91.15%)
Mutual labels: recyclerview-adapter
RefreshRecyclerView
- RecyclerAdapter : 支持下拉刷新,上拉加载,添加Header,Footer
- MultiTypeAdapter/CustomMultiTypeAdapter : 针对 复杂数据类型列表 展示Adapter
注意 所有的 adapter 可以配合任意的 RecyclerView 或者 它的子类 使用,而不是仅仅局限于 RefreshRecyclerView 这个组件。
使用方法
- gradle依赖
compile 'cn.lemon:RefreshRecyclerView:2.0.0'
compile 'com.android.support:recyclerview-v7:25.4.0'
- xml布局文件
<cn.lemon.view.RefreshRecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:refresh_able="true"
app:load_more_able="false"/>
- java代码
mRecyclerView = (RefreshRecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setSwipeRefreshColors(0xFF437845,0xFFE44F98,0xFF2FAC21);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addRefreshAction(new Action() {
@Override
public void onAction() {
// TODO:刷新数据
}
});
mRecyclerView.addLoadMoreAction(new Action() {
@Override
public void onAction() {
// TODO:加载更多
}
});
mRecyclerView.addLoadMoreErrorAction(new Action() {
@Override
public void onAction() {
// TODO:加载更多错误,点击重新加载
}
});
// Header 和 Footer 支持
mAdapter.setHeader(textView);
mAdapter.setFooter(footer);
RecyclerAdapter
针对相同数据类型列表,可添加 Header,Footer
自定义 Adapter 应该继承 RecyclerAdapter,如:
class CardRecordAdapter extends RecyclerAdapter<Consumption> {
public CardRecordAdapter(Context context) {
super(context);
}
@Override
public BaseViewHolder<Consumption> onCreateBaseViewHolder(ViewGroup parent, int viewType) {
return new CardRecordHolder(parent);
}
}
MultiTypeAdapter
复杂数据类型列表的 Adapter,没有 Header,Footer 的概念,每个 Item 对应一个 ViewHolder 注意:通过反射实现,支持 ViewHolder 的带有一个参数(ViewGroup)和无参两种形式构造函数,性能方面微小的损耗。 构造函数为保证反射时能获取到,应该写成 public 静态内部类 或者 public 的单独类。
private MultiTypeAdapter mAdapter = new MultiTypeAdapter(this);
mAdapter.add(ImageViewHolder.class, getImageVirtualData());
mAdapter.addAll(TextViewHolder.class, getTextVirtualData());
mAdapter.addAll(TextImageViewHolder.class, getTextImageVirualData());
mAdapter.addAll(CardRecordHolder.class, getRecordVirtualData());
CustomMultiTypeAdapter (推荐使用)
功能和 MultiTypeAdapter 一样,但避免了反射带来的弊端,需要实现 IViewHolderFactory 接口类来管理viewtype 和 ViewHolder 的映射关系。
// 映射 viewtype 和 ViewHolder
@Override
public <V extends BaseViewHolder> V getViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case VIEW_TYPE_TEXT:
return (V) new TextViewHolder(parent);
case VIEW_TYPE_IAMGE:
return (V) new ImageViewHolder(parent);
case VIEW_TYPE_TEXT_IMAGE:
return (V) new TextImageViewHolder(parent);
case VIEW_TYPE_CARD:
return (V) new CardRecordHolder(parent);
default:
return (V) new TextViewHolder(parent);
}
}
// 绑定数据
mAdapter.add(getImageVirtualData(), VIEW_TYPE_IAMGE);
mAdapter.addAll(getTextVirtualData(), VIEW_TYPE_TEXT);
mAdapter.addAll(getTextImageVirualData(), VIEW_TYPE_TEXT_IMAGE);
mAdapter.addAll(getRecordVirtualData(), VIEW_TYPE_CARD);
ViewHolder
自定义 ViewHolder 需继承 BaseViewHolder,如:
class CardRecordHolder extends BaseViewHolder<Consumption> {
//当使用MultiTypeAdapter时,务必加上此构造方法
public CardRecordHolder(ViewGroup parent) {
super(parent, R.layout.holder_consume);
}
@Override
public void setData(Consumption object) {
super.setData(object);
name.setText("Demo");
//UI绑定数据
}
@Override
public void onInitializeView() {
super.onInitializeView();
name = findViewById(R.id.name);
//初始化View
}
@Override
public void onItemViewClick(Consumption object) {
super.onItemViewClick(object);
//点击事件
}
}
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].