前言
BaseMultiItemQuickAdapter默认是支持但单布局拖拽功能的,如BaseItemDraggableAdapter,但是无法满足多布局拖拽需求,需要加以改造。
1.梳理继承关系及构造
通过下图,可以发现BaseMultiItemQuickAdapter与BaseItemDraggableAdapter都继承于BaseQuickAdapter,我们根据此特性进行拼凑,见下图红色部分。
拼凑后的BaseMutiItemDragQuickAdapter,见如下kotlin源码,自己的以前继承BaseMultiItemQuickAdapter的adapter需要改为继承以下代码中的BaseMultiItemDragQuickAdapter;
package com.n8c.commonui.adapter
import android.util.SparseArray
import android.view.ViewGroup
import androidx.annota