美文网首页
RecyclerView进阶使用技巧

RecyclerView进阶使用技巧

作者: vb12 | 来源:发表于2017-12-27 17:20 被阅读13次

    1. 如果可以, 请设置setHasFixedSize(true)

    当你的列表数据数量不变时, 请设置这个属性 . 设置之后当有数据更新时, 列表不会整体刷新, 而只会更新具体的子view.

    2. 在onCreateViewHolder(…)中设置onclick listener.

    不论何时用户点击元素时, 通过vh.getAdapterPosition() 可以获得当前所在的位置, 因此也就可以把点击事件和具体数据对应起来.
    记得不要忘记检查返回的位置是否可用就行了 if(pos != NO_POSITION) {}

    3. 当存在多个ViewType时, 使用布局id来作为viewType.

    大胆用吧, 这是官方鼓励的.


    图片.png

    4. 使用DiffUtil 来判断哪些元素变化了.

    notifyDataSetChanged是一个耗时的操作, 要尽量少用.
    DiffUtil最棒的一点是可以只更新某个条目上的某个字段, 而不需要刷新整个元素. 具体的使用方法, 请参考https://medium.com/@iammert/using-diffutil-in-android-recyclerview-bdca8e4fbb00

    相关文章

      网友评论

          本文标题:RecyclerView进阶使用技巧

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