/**
* author: guojianzhong
* created on: 2020-05-13 12:21
* description:
*/
public abstract class BaseDelegateAdapter<T,
VH extends BaseDelegateAdapter.BaseViewHolder>
extends DelegateAdapter.Adapter<VH> {
public Context mContext;
public LayoutHelper mLayoutHelper;
private List<T> datas;
private int mItemViewType;
private DelegateAdapter mDelegateAdapter;
private AdapterHelper mAdapterHelper;
private static BaseDelegateAdapter baseDelegateAdapter;
public BaseDelegateAdapter(Context context, LayoutHelper layoutHelper, DelegateAdapter delegateAdapter, int itemViewType) {
this.mContext = context;
this.mLayoutHelper = layoutHelper;
this.mItemViewType = itemViewType;
this.mDelegateAdapter = delegateAdapter;
mAdapterHelper = new AdapterHelper(delegateAdapter, this);
}
public DelegateAdapter getDelegateAdapter() {
return mDelegateAdapter;
}
public Context getContext() {
return mContext;
}
public LayoutHelper getLayoutHelper() {
return mLayoutHelper;
}
public List<T> getDatas() {
return datas;
}
/**
* 单一适配器模式
* @param datas
* @param singleAdapter
*/
public void addDatasAndNotify(List<T> datas, boolean singleAdapter) {
if (!singleAdapter) return;
if (!mAdapterHelper.hasAdapterInParent()) {
clear();
mAdapterHelper.bindAdapter();
}
if (this.datas != null) {
this.datas.addAll(datas);
}else {
this.datas = datas;
}
notifyDataSetChanged();
}
public void addDatasAndNotify(List<T> datas) {
if (this
对VLayout的适配器(DelegateAdapter.Adapter)做的简单封装
最新推荐文章于 2022-09-30 00:18:53 发布