• Android——RecyclerView学习笔记


     

    添加RecyclerView依赖库:RecyclerView是新增的控件,不能像ListView 等控件一样直接使用,需要添加相应的依赖库才行。右键app,选择Open Module Settings ;

    选择Dependencies,点击+号添加Library Dependency;

    然后在搜索框搜索recyclerview选择第一个添加就可以了。

     

    自定义的RecyclerView适配器要继承RecyclerView.Adapter并重写onCreateViewHolder()、onBindViewHolder()和getItemCount()三个方法。

    • onCreateViewHolder()用于创建ViewHolder实例,将RecyclerView子项布局加载进来创建一个视图并作为参数传入到ViewHolder构造函数中,最后返回ViewHolder实例;
    • onBindViewHolder()用于对RecyclerView子项的数据进行赋值,只有当有子项滚进屏幕才会调用;
    • getItemCount()返回RecyclerView子项的数量;

    LayoutManager用于指定RecyclerView的布局方式:

    • LinearLayoutManager为线性布局,可以实现和ListView类似的效果setOrientation()设置布局的排列方式,参数为LinearLayoutManager.HORIZONTAL和LinearLayoutManager. VERTICAL,不设置时默认为vertical。
    • StaggeredGridLayoutManager为瀑布流布局,创建StaggeredGridLayoutManager的实例时,需要向构造函数里传两个参数,第一个参数(int)用于指定布局的列数,传入几就将布局分为几列;第二个参数用于指定布局的排列方向(StaggeredGridLayoutManager.VERTICAL或者StaggeredGridLayoutManager. HORIZONTAL)
    • GridLayoutManager为网格布局,有两个参数,第一个是上下文,第二个是指定的布局列数。与StaggeredGridLayoutManager很像,但是每一排都是一样的高,后者可以错位排列。

    View. setVisibility(int):设置视图是否可见,参数有三种:View.VISIBLE、View.INVISIBLE、View.GONE分别对应三个常量值:0、4、8。

    • VISIBLE:可见;
    • INVISIBLE:不可见,但还占着原来的空间;
    • GONE:不可见,不占用原来的布局空间;

     

    RecyclerView.scrollToPosition(int position):将视图滚动到position位置,参数写List<T>.size()-1是因为从0开始定位子项,最后一项为size()-1。

     

    Adapter.notifyItemInserted(int position):通知所有已注册的观察员传入的子项数据更新了,更新位置为position,我发现这个可写可不写,因为不写也能正常更新显示,应该只起到通知作用。

  • 相关阅读:
    Regular Expression Basic
    Getting http address from text file by awk script
    日报、周报,项目进度汇报有意义吗?
    目不转睛地盯着电脑屏幕,认真找Bug的你
    这组朋友圈,得罪了半个互联网圈!
    2021年,让你看透世界的8个底层逻辑
    再见,胡阿姨!再见,共享单车!
    @所有人,2021新年快乐,每个人都了不起!
    为了实现而工程,大道至简第五章读后感
    Java第四次上课博文动手动脑
  • 原文地址:https://www.cnblogs.com/mulin1999/p/13178992.html
Copyright © 2020-2023  润新知