皮皮网

【源码官网之家】【ucosiii源码解释】【新闻源码免费】notifyitem源码

时间:2025-01-24 11:32:38 来源:粒子爆炸的源码

1.RecyclerView中notifyItemRemoved的一个坑

notifyitem源码

RecyclerView中notifyItemRemoved的一个坑

       ç¢°åˆ°è¿™æ ·ä¸€ä¸ªéœ€æ±‚,有一个关注列表,点击列表上的关注按钮可以取消关注。

        首先列表这里选择的是RecyclerView,实现起来也较为简单,实现Adapter绑定数据就可以了

        但是取消关注后需要将该用户从列表里移除,为了不整体刷新,所以选择使用notifyItemRemoved而不是notifyDataSetChanged方法,因为notifyItemRemoved不会删除adapter中数据集中真实的元素,因此还需要调用 dataList.remove(i)

        但是测试的时候发现了一个问题:

        点击第一个用户,成功删除,nice.

        这时候原来的第二个用户成了第一个用户,按照之前的逻辑,这个地方的position应该是0。但是,点击之后删除的是现在的第二个用户,也就是说position是1。

        网上搜索后发现,在notifyItemRemoved虽然移除了视图,但是没有进行重新bind的过程,因此position还是之前的position,源码源码官网之家因此需要调用notifyItemRangeChanged方法来告诉应用position位置需要重新计算

        上面一段来自RecyclerView源码中的注释,notifyItemRangeChanged方法需要两个参数,第一个来指定从哪里开始数据进行了变化,第二个参数需要指定总共变化了多少个数据。

        在最开始提到的需求下,positionStart应该等于要删除的那个数据的坐标,itemCount应该为从positionStart开始到数据列表最后,但是为了方便就直接填getItemCount()更新所有数据了

推荐资讯
黑龙江七台河规范盲盒市场经营行为

黑龙江七台河规范盲盒市场经营行为

陳冲讓合庫再見春天?|天下雜誌

陳冲讓合庫再見春天?|天下雜誌

【2023金音獎】最佳新人獎:鶴 The Crane《TALENT》

【2023金音獎】最佳新人獎:鶴 The Crane《TALENT》

水電恐雙漲! 台水擬調水價「降民生漲大戶」

水電恐雙漲! 台水擬調水價「降民生漲大戶」

福建厦门:深夜追踪查获私宰猪肉

福建厦门:深夜追踪查获私宰猪肉

投資基金三不原則|天下雜誌

投資基金三不原則|天下雜誌

copyright © 2016 powered by 皮皮网   sitemap