行业知识
Android---SmartRefreshLayout实现上拉刷新和下拉加载更多
2026-11-06 13:10:09
来源:互联网转载
1. 在 build.gradle 中添加依赖
// 下拉刷新,上拉加载更多// https://github.com/scwang90/SmartRefreshLayoutimplementation 'io.github.scwang90:refresh-layout-kernel:2.1.0' //核心必须依赖implementation 'io.github.scwang90:refresh-header-classics:2.1.0' //经典刷新头implementation 'io.github.scwang90:refresh-footer-classics:2.1.0' //经典加载
2. 如果使用 AndroidX 先在 gradle.properties 中添加。因为这个第三方库里有用到旧版的 Support 依赖包。android.enableJetifier=true 这个属性的作用可以简单理解为,如果自己的项目为 AndroidX,但也用到了一些第三方库,而第三方库里面还用的是旧版的依赖。这种情况下就会发生冲突。android.enableJetifier=true 这个属性就会在编译的时候把第三方依赖里面的旧版依赖换成我们 AndroidX 里的依赖。
android.useAndroidX=trueandroid.enableJetifier=true
3. activityMain.xml
4. MainActivity.kt
class MainActivity : AppCompatActivity() { private lateinit var smartRefreshLayout : SmartRefreshLayout override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) smartRefreshLayout = findViewById(R.id.smart_refresh_layout) // TODO 下拉刷新 smartRefreshLayout.setOnRefreshListener { // TODO do something 请求最新的网络数据 //... // TODO 完成刷新,参数2:是否刷新成功;参数2:是否还有更多数据 smartRefreshLayout.finishRefresh(500, true, false) } // TODO 下拉加载更多 smartRefreshLayout.setOnLoadMoreListener { // TODO do something 请求更多的网络数据 //... // TODO 完成加载更多,参数2:是否刷新成功;参数2:是否还有更多数据 smartRefreshLayout.finishLoadMore(500, true, true) } }}