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 a5bab93e22e2fa158590c55f7e3c69c09049d89c..a7087dfb8e78b6e92c226bf713745e5138d956bd 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 @@ -33,38 +33,6 @@ import java.lang.reflect.ParameterizedType import java.util.* import kotlin.collections.ArrayList -/** - * 获取模块 - */ -private interface BaseQuickAdapterModuleImp { - /** - * 重写此方法,返回自定义模块 - * @param baseQuickAdapter BaseQuickAdapter<*, *> - * @return BaseLoadMoreModule - */ - fun addLoadMoreModule(baseQuickAdapter: BaseQuickAdapter<*, *>): BaseLoadMoreModule { - return BaseLoadMoreModule(baseQuickAdapter) - } - - /** - * 重写此方法,返回自定义模块 - * @param baseQuickAdapter BaseQuickAdapter<*, *> - * @return BaseUpFetchModule - */ - fun addUpFetchModule(baseQuickAdapter: BaseQuickAdapter<*, *>): BaseUpFetchModule { - return BaseUpFetchModule(baseQuickAdapter) - } - - /** - * 重写此方法,返回自定义模块 - * @param baseQuickAdapter BaseQuickAdapter<*, *> - * @return BaseExpandableModule - */ - fun addDraggableModule(baseQuickAdapter: BaseQuickAdapter<*, *>): BaseDraggableModule { - return BaseDraggableModule(baseQuickAdapter) - } -} - /** * Base Class * @param T : type of data, 数据类型 @@ -74,7 +42,7 @@ private interface BaseQuickAdapterModuleImp { abstract class BaseQuickAdapter @JvmOverloads constructor(@LayoutRes private val layoutResId: Int, data: MutableList? = null) - : RecyclerView.Adapter(), BaseQuickAdapterModuleImp { + : RecyclerView.Adapter() { companion object { const val HEADER_VIEW = 0x10000111 diff --git a/library/src/main/java/com/chad/library/adapter/base/module/DraggableModule.kt b/library/src/main/java/com/chad/library/adapter/base/module/DraggableModule.kt index 2d9676312ad1fb6777c4e4f27b5cd8bb06432726..c351dabb58c66074078fadb0cea3aa79bb3f03f2 100644 --- a/library/src/main/java/com/chad/library/adapter/base/module/DraggableModule.kt +++ b/library/src/main/java/com/chad/library/adapter/base/module/DraggableModule.kt @@ -25,7 +25,16 @@ import java.util.* /** * 需要【拖拽】功能的,[BaseQuickAdapter]继承此接口 */ -interface DraggableModule +interface DraggableModule { + /** + * 重写此方法,返回自定义模块 + * @param baseQuickAdapter BaseQuickAdapter<*, *> + * @return BaseExpandableModule + */ + fun addDraggableModule(baseQuickAdapter: BaseQuickAdapter<*, *>): BaseDraggableModule { + return BaseDraggableModule(baseQuickAdapter) + } +} open class BaseDraggableModule(private val baseQuickAdapter: BaseQuickAdapter<*, *>) : DraggableListenerImp { diff --git a/library/src/main/java/com/chad/library/adapter/base/module/LoadMoreModule.kt b/library/src/main/java/com/chad/library/adapter/base/module/LoadMoreModule.kt index 3810bbb3eee85f066c3140ef70ef61ed1db05d0d..5786347d1b8e34efcca68df167a7eef597e45374 100644 --- a/library/src/main/java/com/chad/library/adapter/base/module/LoadMoreModule.kt +++ b/library/src/main/java/com/chad/library/adapter/base/module/LoadMoreModule.kt @@ -20,7 +20,16 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder /** * 需要【向下加载更多】功能的,[BaseQuickAdapter]继承此接口 */ -interface LoadMoreModule +interface LoadMoreModule { + /** + * 重写此方法,返回自定义模块 + * @param baseQuickAdapter BaseQuickAdapter<*, *> + * @return BaseLoadMoreModule + */ + fun addLoadMoreModule(baseQuickAdapter: BaseQuickAdapter<*, *>): BaseLoadMoreModule { + return BaseLoadMoreModule(baseQuickAdapter) + } +} object LoadMoreModuleConfig { diff --git a/library/src/main/java/com/chad/library/adapter/base/module/UpFetchModule.kt b/library/src/main/java/com/chad/library/adapter/base/module/UpFetchModule.kt index 1b4bf453bdfdf86a4edf7410a8f3a9d5ba8c1f73..f3cdd8089a0405f24a6688bb6dc266c3641dcd6a 100644 --- a/library/src/main/java/com/chad/library/adapter/base/module/UpFetchModule.kt +++ b/library/src/main/java/com/chad/library/adapter/base/module/UpFetchModule.kt @@ -13,7 +13,16 @@ import com.chad.library.adapter.base.listener.UpFetchListenerImp /** * 需要【向上加载更多】功能的,[BaseQuickAdapter]继承此接口 */ -interface UpFetchModule +interface UpFetchModule { + /** + * 重写此方法,返回自定义模块 + * @param baseQuickAdapter BaseQuickAdapter<*, *> + * @return BaseUpFetchModule + */ + fun addUpFetchModule(baseQuickAdapter: BaseQuickAdapter<*, *>): BaseUpFetchModule { + return BaseUpFetchModule(baseQuickAdapter) + } +} open class BaseUpFetchModule(private val baseQuickAdapter: BaseQuickAdapter<*, *>) : UpFetchListenerImp {