Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Baseadapter | 4,646 | 2 years ago | 112 | apache-2.0 | Java | |||||
Android 万能的Adapter for ListView,RecyclerView,GridView等,支持多种Item类型的情况。 | ||||||||||
Flipviewpager.draco | 1,845 | 4 years ago | 6 | Java | ||||||
This project aims to provide a working page flip implementation for usage in ListView. | ||||||||||
Asymmetricgridview | 1,724 | 36 | 5 years ago | 3 | July 01, 2015 | 33 | mit | Java | ||
Android ListView that mimics a GridView with asymmetric items. Supports items with row span and column span | ||||||||||
Renderers | 1,212 | 88 | 7 | 2 years ago | 22 | May 20, 2020 | 2 | apache-2.0 | Java | |
Renderers is an Android library created to avoid all the boilerplate needed to use a RecyclerView/ListView with adapters. | ||||||||||
Multichoiceadapter | 865 | 5 | 2 | 9 years ago | 11 | February 25, 2014 | 11 | apache-2.0 | Java | |
Android - A ListView adapter with support for multiple choice modal selection | ||||||||||
Pinnedheaderlistview | 676 | 8 years ago | 25 | Java | ||||||
A ListView with pinned section headers for Android | ||||||||||
Superadapter | 636 | 6 years ago | Java | |||||||
[Deprecated]. 🚀 Adapter(BaseAdapter, RecyclerView.Adapter) wrapper for Android. 一个Adapter同时适用RecyclerView、ListView、GridView等。 | ||||||||||
Android Arsenal.com | 532 | 3 years ago | 2 | HTML | ||||||
Source to android-arsenal.herokuapp.com | ||||||||||
Android_5.0_viewdemo | 481 | 4 years ago | 5 | Java | ||||||
一些基于 Android 5.0/6.0/N 新特性的小案例 | ||||||||||
Verticalbannerview | 436 | 7 years ago | Java | |||||||
a vertical banner view in android.you can find it in 淘宝app、京东app... |
Android Adapter for ListView,RecyclerView,GridViewItem
compile 'com.zhy:base-rvadapter:3.0.3'
compile 'com.zhy:base-adapter:3.0.3'
##1(ListView)
Item
mRecyclerView.setAdapter(new CommonAdapter<String>(this, R.layout.item_list, mDatas)
{
@Override
public void convert(ViewHolder holder, String s)
{
holder.setText(R.id.id_item_list_title, s);
}
});
convert
AdapterCommonAdapterconvertViewHolder
##2ItemViewType(ListView)
itemviewtypehttps://github.com/sockeqwe/AdapterDelegates
MultiItemTypeAdapter adapter = new MultiItemTypeAdapter(this,mDatas);
adapter.addItemViewDelegate(new MsgSendItemDelagate());
adapter.addItemViewDelegate(new MsgComingItemDelagate());
ItemItemViewDelegete
public class MsgComingItemDelagate implements ItemViewDelegate<ChatMessage>
{
@Override
public int getItemViewLayoutId()
{
return R.layout.main_chat_from_msg;
}
@Override
public boolean isForViewType(ChatMessage item, int position)
{
return item.isComMeg();
}
@Override
public void convert(ViewHolder holder, ChatMessage chatMessage, int position)
{
holder.setText(R.id.chat_from_content, chatMessage.getContent());
holder.setText(R.id.chat_from_name, chatMessage.getName());
holder.setImageResource(R.id.chat_from_icon, chatMessage.getIcon());
}
}
##(3) HeaderViewFooterView
mHeaderAndFooterWrapper = new HeaderAndFooterWrapper(mAdapter);
TextView t1 = new TextView(this);
t1.setText("Header 1");
TextView t2 = new TextView(this);
t2.setText("Header 2");
mHeaderAndFooterWrapper.addHeaderView(t1);
mHeaderAndFooterWrapper.addHeaderView(t2);
mRecyclerView.setAdapter(mHeaderAndFooterWrapper);
mHeaderAndFooterWrapper.notifyDataSetChanged();
adapterHeaderAndFooterWrapperAPI
##(4) LoadMore
mLoadMoreWrapper = new LoadMoreWrapper(mOriginAdapter);
mLoadMoreWrapper.setLoadMoreView(R.layout.default_loading);
mLoadMoreWrapper.setOnLoadMoreListener(new LoadMoreWrapper.OnLoadMoreListener()
{
@Override
public void onLoadMoreRequested()
{
}
});
mRecyclerView.setAdapter(mLoadMoreWrapper);
adapterLoadMoreWrapperAPI
##(5)EmptyView
mEmptyWrapper = new EmptyWrapper(mAdapter);
mEmptyWrapper.setEmptyView(R.layout.empty_view);
mRecyclerView.setAdapter(mEmptyWrapper );
adapterEmptyWrapperAPI
mAdapter = new EmptyViewWrapper(
new LoadMoreWrapper(
new HeaderAndFooterWrapper(mOriginAdapter)));
mListView.setAdapter(new CommonAdapter<String>(this, R.layout.item_list, mDatas)
{
@Override
public void convert(ViewHolder holder, String o, int pos)
{
holder.setText(R.id.id_item_list_title, o);
}
@Override
public void onViewHolderCreated(ViewHolder holder, View itemView)
{
super.onViewHolderCreated(holder, itemView);
//AutoUtil.autoSize(itemView)
}
});
JoanZapata/base-adapter-helper
listview,gridviewadapterViewHolder.setXXX
ItemType
ragunathjawahar/simple-section-adapter
SectionAdapter