XAdapter
![收藏,GitHub 同步 Star](https://i-blog.csdnimg.cn/blog_migrate/7d0234f6040bfebfea82f8d6092495f1.png)
Blog:https://7449.github.io/Android_XAdapter/
Screenshots
https://raw.githubusercontent.com/7449/XAdapter/master/xadapter.gif
gradle
compile 'com.xadapter:xadapter:0.1.7'
Dividing line
Built a simple example XDividerItemDecoration
tips
It should be noted that, initXData () is not mandatory, only when the beginning of the RecyclerView need to have a data List must call initXData ()
Full example
recyclerView.setAdapter(
xRecyclerViewAdapter
.initXData(mainBeen)
.addRecyclerView(recyclerView)
.setLayoutId(R.layout.item)
.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader)
.setLoadingMoreProgressStyle(ProgressStyle.BallRotate)
.setImageView(R.drawable.iconfont_downgrey)
.setHeaderBackgroundColor(R.color.colorBlack)
.setFooterBackgroundColor(R.color.colorBlack)
.setHeaderTextColor(R.color.textColor)
.setFooterTextColor(R.color.textColor)
.setPullRefreshEnabled(true)
.setLoadingMoreEnabled(true)
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_1, (ViewGroup) findViewById(android.R.id.content), false))
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_2, (ViewGroup) findViewById(android.R.id.content), false))
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_3, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_1, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_2, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_3, (ViewGroup) findViewById(android.R.id.content), false))
.onXBind(this)
.setOnLongClickListener(this)
.setOnItemClickListener(this)
.setLoadingListener(this)
.setFooterListener(this)
.setRefreshing(true)
);
onXBind
Achieve data display
@Override
public void onXBind(XViewHolder holder, int position, MainBean mainBean) {
holder.setTextView(R.id.tv_name, mainBean.getName());
holder.setTextView(R.id.tv_age, mainBean.getAge() + "");
}
emptyView
Whether to display manually determined by the user's own network exceptions or data is empty when the call xRecyclerViewAdapter.isShowEmptyView (); specific examples of simple
recyclerView.setAdapter(
xRecyclerViewAdapter
.initXData(mainBean)
.setEmptyView(findViewById(R.id.emptyView))
.addRecyclerView(recyclerView)
.setLayoutId(R.layout.item)
);
pull to refresh and load more
The default is not open, if necessary, please manually open, and addRecyclerView
xRecyclerViewAdapter
.initXData(mainBean)
.setLayoutId(R.layout.item)
.addRecyclerView(recyclerView)
.setPullRefreshEnabled(true)
.setPullRefreshEnabled(true)
.setLoadingListener(new XBaseAdapter.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
}
})
When the drop-down refresh is complete
It is up to the user to choose whether the load fails or is successful
xRecyclerViewAdapter.refreshComplete(HeaderLayout.STATE_DONE);
When the pull-up is complete
It is up to the user to choose whether the load fails or is successful
xRecyclerViewAdapter.loadMoreComplete(FooterLayout.STATE_NOMORE);
addHeader addFooter
xRecyclerViewAdapter
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_1, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_1, (ViewGroup) findViewById(android.R.id.content), false))
MultipleAdapter
Load the animation
XAdapter's refresh header and the bottom are derived from the XRecyclerView, so support for XRecyclerViewsupport animation, and the head and the bottom of the extension, you can set the background color, font color.
xRecyclerViewAdapter
.initXData(mainBeen)
.addRecyclerView(recyclerView)
.setLayoutId(R.layout.item)
.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader)
.setLoadingMoreProgressStyle(ProgressStyle.BallRotate)
.setImageView(R.drawable.iconfont_downgrey)
.setHeaderBackgroundColor(R.color.colorBlack)
.setFooterBackgroundColor(R.color.colorBlack)
.setHeaderTextColor(R.color.textColor)
.setFooterTextColor(R.color.textColor)