diff --git a/library/build.gradle.kts b/library/build.gradle.kts index 4f879cd4d..9a1316494 100644 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -9,7 +9,7 @@ plugins { signing } -val versionName = "3.0.13" +val versionName = "3.0.14" android { diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseNodeAdapter.kt b/library/src/main/java/com/chad/library/adapter/base/BaseNodeAdapter.kt index 804d9f034..ecbe23e16 100644 --- a/library/src/main/java/com/chad/library/adapter/base/BaseNodeAdapter.kt +++ b/library/src/main/java/com/chad/library/adapter/base/BaseNodeAdapter.kt @@ -156,19 +156,20 @@ abstract class BaseNodeAdapter(nodeList: MutableList? = null) if (position >= data.size) { return 0 } - // 记录被移除的item数量 - var removeCount = 0 - // 先移除子项 - removeCount = removeChildAt(position) + // 记录被移除的item数量,先移除子项 + var removeCount = removeChildAt(position) + val node = this.data[position] + + // 是否存在移除的脚部 + val isRemoveFooter = node is NodeFooterImp && node.footerNode != null // 移除node自己 this.data.removeAt(position) removeCount += 1 - val node = this.data[position] // 移除脚部 - if (node is NodeFooterImp && node.footerNode != null) { + if (isRemoveFooter) { this.data.removeAt(position) removeCount += 1 }