Skip to content

Commit 0dbf051

Browse files
committed
adaptive
1 parent 12822b3 commit 0dbf051

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

library/src/main/java/com/chad/library/adapter/base/BaseMultiItemQuickAdapter.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import android.support.annotation.IntRange;
44
import android.support.annotation.LayoutRes;
5-
import android.util.Log;
65
import android.util.SparseIntArray;
76
import android.view.ViewGroup;
87

@@ -14,7 +13,7 @@
1413
/**
1514
* https://github.com/CymChad/BaseRecyclerViewAdapterHelper
1615
*/
17-
public abstract class BaseMultiItemQuickAdapter<T extends MultiItemEntity, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> {
16+
public abstract class BaseMultiItemQuickAdapter<T, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> {
1817

1918
/**
2019
* layouts indexed with their types
@@ -34,11 +33,13 @@ public BaseMultiItemQuickAdapter(List<T> data) {
3433
super(data);
3534
}
3635

36+
public abstract int getItemType(T data, int position);
37+
3738
@Override
3839
protected int getDefItemViewType(int position) {
3940
T item = mData.get(position);
4041
if (item != null) {
41-
return item.getItemType();
42+
return getItemType(item, position);
4243
}
4344
return DEFAULT_VIEW_TYPE;
4445
}

library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java

+3
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ public abstract class BaseQuickAdapter<T, K extends BaseViewHolder> extends Recy
135135

136136
private RecyclerView mRecyclerView;
137137

138+
protected void onViewCached(final K holder, View view, int resId) {
139+
}
140+
138141
protected RecyclerView getRecyclerView() {
139142
return mRecyclerView;
140143
}

library/src/main/java/com/chad/library/adapter/base/BaseViewHolder.java

+4
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,10 @@ public <T extends View> T getView(@IdRes int viewId) {
596596
if (view == null) {
597597
view = itemView.findViewById(viewId);
598598
views.put(viewId, view);
599+
600+
if (this.adapter != null) {
601+
this.adapter.onViewCached(this, view, viewId);
602+
}
599603
}
600604
return (T) view;
601605
}

0 commit comments

Comments
 (0)