BindRecyclerView 绑定holder方式,实现多种类型,且省略adapter 代码,并且集成下拉刷新 上拉加载

github源码
https://github.com/chengxingyao/BindRecyclerView

在project build.gradle中添加 maven 地址
allprojects {
    repositories {
        jcenter()
        maven { url "https://raw.githubusercontent.com/chengxingyao/maven/master/" }
    }
}
dependencies { 
    compile "cn.chengxingyao:bindrecyclerview:0.1"
}

该控件下拉刷新 上拉加载继承的是BGARefreshLayout,详细参考https://github.com/fengmaolian/AnalyzeRecyclerViewWithBGARefreshLayout

    
        XRecyclerViewAdapter   adapter = mXRecyclerView.getAdapter();//获取adapter

        adapter.bindHolder(new TestHolder());// 绑定第一个 holder
        adapter.bindHolder(new Test2Holder());// 绑定第二个holder
        
     //设置第一个holder 的数据
         List list=new ArrayList();
        list.add(1);
        list.add(1);
        list.add(1);
        adapter.setData(0,list); 
       adapter.setData(1,list); //设置第二个holder

holder 定义

      
public class TestHolder extends IViewHolder {
    @Override
    protected XViewHolder create(View view, RecyclerView.Adapter adapter) {
        //返回一个实际的holder
        return new Holder(view, adapter);
    }

    @Override
    public int getLayout() {
        //holder 的 layout
        return R.layout.test;
    }
    //实际的holder类
    class Holder extends XViewHolder<Integer> {
        protected TextView tvName;

        public Holder(View itemView, RecyclerView.Adapter adapter) {
            super(itemView, adapter);
        }
        //默认会触发点击holder 的点击事件
        @Override
        public void onClick(View v) {
        }
        //初始化view
        @Override
        protected void initView(View rootView) {
            tvName = (TextView) rootView.findViewById(R.id.tv_name);

        }
      //绑定数据 ,adapter 中会调用
        @Override
        protected void onBindData(Integer itemData) {
            tvName.setText("aaaa" + itemData);
        }
    }
}

demo https://github.com/chengxingyao/BindRecyclerView

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 10,959评论 2 43
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 144,037评论 18 618
  • 说出来你不一定会信。 如果快乐太难,那么祝你平安。 认识一个女孩儿,叫做萝卜。白净乖巧。 她跟我说,她这辈子,做过...
    羥羊阅读 42评论 0 1
  • 2016-11-21 05:20:11 原文地址:起信论7_yc791022_新浪博客 复次,此真如者,依言说分别...
    Xoeaza阅读 142评论 0 0
  • 本文由海豚的窗户首发 插画来源:泰国插画师foeevaaa 每个女人心里都住着一个孩子,渴望被自己的男人宠爱。 在...
    海豚的窗户阅读 756评论 0 3