android上拉加载更多显示所有数据解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/yuhang01/article/details/102778884

本人在使用BaseQuickAdapter万能适配器进行上拉加载更多数据时,运行时不管我滑动不滑动界面,下拉加载却一直在加载更多数据,没有达到我想要的下拉到最后开始加载更多数据的要求
废话不多说,上布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
            android:id="@+id/homeswipe"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    <ScrollView android:layout_width="match_parent"
                android:layout_height="wrap_content"

    >
        <RelativeLayout
                android:descendantFocusability="blocksDescendants"
               
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
    <com.youth.banner.Banner
            android:id="@+id/banner"
            android:layout_width="match_parent"
            android:layout_height="200dp" />


    <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/home_recyc"
            android:layout_below="@+id/banner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

    </androidx.recyclerview.widget.RecyclerView>
        </RelativeLayout>
</ScrollView>
    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</LinearLayout>

这里就是我的界面布局,scrollview嵌套轮播图和recyclerview

导致问题的原因:

scrollview嵌套recyclerview进行上拉加载更多数据的时候 会一直走onCreateViewHolder()方法,scrollowview嵌套recyclerview,recyclerview会一次性把所有的数据进行加载 就导致现在的问题

解决方法:

我们可以利用BaseQuickAdapter提供的添加头部 将banner定义到一个新的布局中,这样就可以不使用scrollview了 ,最简单的就是你可以直接将scrollview删除 不过这样会导致界面不太美观

猜你喜欢

转载自blog.csdn.net/yuhang01/article/details/102778884