BaseRecyclerViewAdapterHelper
BaseRecyclerViewAdapterHelper copied to clipboard
NestedScrollView嵌套LinearLayout嵌套RecyclerView,无限触动onLoadMore,请问怎么解决,谢谢
+1,我也遇到了
+1
+1
确实会这样,我前两天也因为这个吃了苦头,NestedScrollView嵌套RecyclerView直接使recycleView的布局缓存失效了,没办法,不能这么写,可以按照BRVAH的建议,使用CoordinatorLayout嵌套,或者干脆就不要嵌套😂
原因:
--> NestedScrollView测量子View时使用的测量模式为MeasureSpec.UNSPECIFIED --> 子view大小不受限制,即Recycler View的高度就是加载了全部item的大小 (导致一开始就创建了全部的item) --> 当前的数据都创建展示了,触发onLoadMore事件-->加载完后又全部item创建并开始促发下次onLoadMore事件,直到没有更多数据为止。
*(可以在AS的Layout Inspector中看到所有的item都创建并添加到界面中)
直接的处理方式:
既然是RecyclerView的高度无限大导致了复用机制失效;那么我们就给RecyclerView指定一个高度就好(设置LayoutParams、或者通过继承并重写NestedScrollView/RecyclerView等相关View的测量方法,让RecyclerView的高度不为不受限的高(即不让RecyclerView的复用机制失效)。。。)
@androidHRTZ 建议你使用Adapter.addHeaderView 或 addFooterView, 将相关布局添加头脚上 去除NestedScrollView 应该可以解决相关问题
添加header footer很麻烦的 写起来 TT
嗯嗯 能解决问题就还好 要不概要花功夫改源码 或是自定义测量高度 更麻烦的
+1
把除re以外的组件全部添加到re的头部
---原始邮件--- 发件人: @.> 发送时间: 2023年1月6日(周五) 上午10:24 收件人: @.>; 抄送: @.@.>; 主题: Re: [CymChad/BaseRecyclerViewAdapterHelper] NestedScrollView嵌套LinearLayout嵌套RecyclerView,无限触动onLoadMore,请问怎么解决,谢谢 (Issue #3580)
+1
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>