101 lines
3.8 KiB
Java
101 lines
3.8 KiB
Java
package com.chad.library.adapter.base;
|
|
|
|
import android.util.SparseIntArray;
|
|
import android.view.ViewGroup;
|
|
import com.chad.library.adapter.base.BaseViewHolder;
|
|
import com.chad.library.adapter.base.entity.IExpandable;
|
|
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
|
import com.chad.library.adapter.base.entity.SectionMultiEntity;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes.dex */
|
|
public abstract class BaseSectionMultiItemQuickAdapter<T extends SectionMultiEntity, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> {
|
|
private static final int DEFAULT_VIEW_TYPE = -255;
|
|
protected static final int SECTION_HEADER_VIEW = 1092;
|
|
public static final int TYPE_NOT_FOUND = -404;
|
|
private SparseIntArray layouts;
|
|
protected int mSectionHeadResId;
|
|
|
|
public BaseSectionMultiItemQuickAdapter(int i, List<T> list) {
|
|
super(list);
|
|
this.mSectionHeadResId = i;
|
|
}
|
|
|
|
private int getLayoutId(int i) {
|
|
return this.layouts.get(i, -404);
|
|
}
|
|
|
|
protected void addItemType(int i, int i2) {
|
|
if (this.layouts == null) {
|
|
this.layouts = new SparseIntArray();
|
|
}
|
|
this.layouts.put(i, i2);
|
|
}
|
|
|
|
protected abstract void convertHead(K k, T t);
|
|
|
|
@Override // com.chad.library.adapter.base.BaseQuickAdapter
|
|
protected int getDefItemViewType(int i) {
|
|
SectionMultiEntity sectionMultiEntity = (SectionMultiEntity) this.mData.get(i);
|
|
return sectionMultiEntity != null ? sectionMultiEntity.isHeader ? SECTION_HEADER_VIEW : sectionMultiEntity.getItemType() : DEFAULT_VIEW_TYPE;
|
|
}
|
|
|
|
@Override // com.chad.library.adapter.base.BaseQuickAdapter
|
|
protected boolean isFixedViewType(int i) {
|
|
return super.isFixedViewType(i) || i == SECTION_HEADER_VIEW;
|
|
}
|
|
|
|
@Override // com.chad.library.adapter.base.BaseQuickAdapter
|
|
protected K onCreateDefViewHolder(ViewGroup viewGroup, int i) {
|
|
return i == SECTION_HEADER_VIEW ? createBaseViewHolder(getItemView(this.mSectionHeadResId, viewGroup)) : createBaseViewHolder(viewGroup, getLayoutId(i));
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
@Override // com.chad.library.adapter.base.BaseQuickAdapter
|
|
public void remove(int i) {
|
|
List<T> list = this.mData;
|
|
if (list == 0 || i < 0 || i >= list.size()) {
|
|
return;
|
|
}
|
|
MultiItemEntity multiItemEntity = (SectionMultiEntity) this.mData.get(i);
|
|
if (multiItemEntity instanceof IExpandable) {
|
|
removeAllChild((IExpandable) multiItemEntity, i);
|
|
}
|
|
removeDataFromParent(multiItemEntity);
|
|
super.remove(i);
|
|
}
|
|
|
|
protected void removeAllChild(IExpandable iExpandable, int i) {
|
|
List subItems;
|
|
if (!iExpandable.isExpanded() || (subItems = iExpandable.getSubItems()) == null || subItems.size() == 0) {
|
|
return;
|
|
}
|
|
int size = subItems.size();
|
|
for (int i2 = 0; i2 < size; i2++) {
|
|
remove(i + 1);
|
|
}
|
|
}
|
|
|
|
protected void removeDataFromParent(T t) {
|
|
int parentPosition = getParentPosition(t);
|
|
if (parentPosition >= 0) {
|
|
((IExpandable) this.mData.get(parentPosition)).getSubItems().remove(t);
|
|
}
|
|
}
|
|
|
|
protected void setDefaultViewTypeLayout(int i) {
|
|
addItemType(DEFAULT_VIEW_TYPE, i);
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
@Override // com.chad.library.adapter.base.BaseQuickAdapter, androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public void onBindViewHolder(K k, int i) {
|
|
if (k.getItemViewType() != SECTION_HEADER_VIEW) {
|
|
super.onBindViewHolder((BaseSectionMultiItemQuickAdapter<T, K>) k, i);
|
|
} else {
|
|
setFullSpan(k);
|
|
convertHead(k, (SectionMultiEntity) getItem(i - getHeaderLayoutCount()));
|
|
}
|
|
}
|
|
}
|