美文网首页Android开发
BindRecyclerView 绑定holder方式,实现多种

BindRecyclerView 绑定holder方式,实现多种

作者: Nebula995 | 来源:发表于2017-03-27 16:24 被阅读299次

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

相关文章

网友评论

    本文标题:BindRecyclerView 绑定holder方式,实现多种

    本文链接:https://www.haomeiwen.com/subject/hlerottx.html