2020-03-22

1.RecyclerView的使用步骤

①添加依赖(implementation 'com.android.support:recyclerview-v7:29.0.2')
②创建布局(宽、高必须充满)
③找控件
④设置布局管理器(线性布局,网格布局和瀑布流)
⑤获取数据(切换子线程的方法)
⑥创建适配器——重写三个方法,通过接口回调实现点击事件
⑦设置适配器

2.布局管理器

//线性布局
rv.setLayoutManager(new LinearLayoutManager(this));
//网格布局
rv.setLayoutManager(new GridLayoutManager(this, 3));
//瀑布流
rv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));

3.接口回调

//定义接口
public interface OnItemClickListener{
        void onItemClick(int position);
 }
//设置传递接口类实现对象的方法
private OnItemClickListener onItemClickListener;
    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }
//条目的监听事件
holder.itemView.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
            onItemClickListener.onItemClick(position);
      }
 });

2.RecyclerView多布局(banner+recycleview)

①RecyclerView基本使用
②定义类型常量
③重写获取条目根据位置分类的方法(getItemViewType)
④重写onCreateViewHolder,根据类型创建不同的布局
⑤重写onBindViewHolder,根据不同类型加载不同数据
*注意:
①获取条目总数(list.size() +1)
②onBindViewHolder:获取列表条目数据的时候(position-1)

3.RecyclerView与ListView的对比

RecyclerView与ListView不同点
ListView:
① 继承BaseAdapter,需要重写四个方法
②自定义ViewHolder与convertView的优化(判断是否为null);
③可以直接使用item的点击事件
④不用单独设置分隔线
⑤不可以定向刷新某一条数据
RecyclerView:
① 继承RecyclerView.Adapter与RecyclerView.ViewHolder
②必须使用viewholder,封装了view的复用
③设置LayoutManager,以及layout的布局效果
④点击事件可以使用给控件设置点击事件,也可以自定义点击事件
⑤可以自定义绘制分隔线
⑥可以定向刷新某一条数据notifyItemChanged等方法
⑦可以自定义item删除增加的动画效果

你可能感兴趣的:(2020-03-22)