From e4234c1287427c27d7b21d646a107da155b2c70c Mon Sep 17 00:00:00 2001 From: limuyang Date: Sat, 11 Apr 2020 16:02:49 +0800 Subject: [PATCH] - add removeAt() --- build.gradle | 4 ++-- .../com/chad/library/adapter/base/BaseNodeAdapter.kt | 8 ++++---- .../library/adapter/base/BaseProviderMultiAdapter.kt | 1 - .../com/chad/library/adapter/base/BaseQuickAdapter.kt | 11 +++++++++++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 2748a2a6e..08754950b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,11 @@ buildscript { - ext.kotlin_version = '1.3.61' + ext.kotlin_version = '1.3.71' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.6.1' + classpath 'com.android.tools.build:gradle:3.6.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } 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 114f10d72..fd5622c77 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 @@ -103,8 +103,8 @@ abstract class BaseNodeAdapter(nodeList: MutableList? = null) * * @param position Int 整个 data 的 index */ - override fun remove(position: Int) { - val removeCount = removeAt(position) + override fun removeAt(position: Int) { + val removeCount = removeNodesAt(position) notifyItemRangeRemoved(position + headerLayoutCount, removeCount) compatibilityDataSizeChanged(0) } @@ -116,7 +116,7 @@ abstract class BaseNodeAdapter(nodeList: MutableList? = null) */ override fun setData(index: Int, data: BaseNode) { // 先移除,再添加 - val removeCount = removeAt(index) + val removeCount = removeNodesAt(index) val newFlatData = flatData(arrayListOf(data)) this.data.addAll(index, newFlatData) @@ -152,7 +152,7 @@ abstract class BaseNodeAdapter(nodeList: MutableList? = null) * @param position Int * @return Int 被移除的数量 */ - private fun removeAt(position: Int): Int { + private fun removeNodesAt(position: Int): Int { if (position >= data.size) { return 0 } diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseProviderMultiAdapter.kt b/library/src/main/java/com/chad/library/adapter/base/BaseProviderMultiAdapter.kt index 42b986008..c1af63d59 100644 --- a/library/src/main/java/com/chad/library/adapter/base/BaseProviderMultiAdapter.kt +++ b/library/src/main/java/com/chad/library/adapter/base/BaseProviderMultiAdapter.kt @@ -18,7 +18,6 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder * @param T data 数据类型 * @constructor */ -@Deprecated("please use Class BaseBinderAdapter") abstract class BaseProviderMultiAdapter(data: MutableList? = null) : BaseQuickAdapter(0, data) { diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.kt b/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.kt index 40701c7b6..59e4dddd8 100644 --- a/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.kt +++ b/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.kt @@ -1238,7 +1238,18 @@ abstract class BaseQuickAdapter * * @param position */ + @Deprecated("Please use removeAt()", replaceWith = ReplaceWith("removeAt(position)")) open fun remove(@IntRange(from = 0) position: Int) { + removeAt(position) + } + + /** + * remove the item associated with the specified position of adapter + * 删除指定位置的数据 + * + * @param position + */ + open fun removeAt(@IntRange(from = 0) position: Int) { if (position >= data.size) { return }