您当前的位置: 首页 > 

XAdapter 一个支持 add 多个 header 和 footer,并且支持下拉刷新上拉加载的 recyclerViewAdapter

发布时间:2017-04-09 13:13:15 ,浏览量:0

XAdapter
项目地址: 7449/XAdapter
简介:XAdapter 一个支持 add 多个 header 和 footer,并且支持下拉刷新上拉加载的 recyclerViewAdapter
Support for the pull-down refresh loading and the addition of multiple header and footer RecyclerViewAdapter

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)
Thanks

https://github.com/jianghejie/XRecyclerView

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    110950博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0826s