Skip to content

Commit 5c4faaf

Browse files
committed
MultipleItemRvAdapter支持自定义ViewHolder
1 parent 68136f7 commit 5c4faaf

File tree

6 files changed

+12
-11
lines changed

6 files changed

+12
-11
lines changed

app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/DemoMultipleItemRvAdapter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.chad.baserecyclerviewadapterhelper.adapter.provider.TextImgItemProvider;
77
import com.chad.baserecyclerviewadapterhelper.adapter.provider.TextItemProvider;
88
import com.chad.baserecyclerviewadapterhelper.entity.NormalMultipleEntity;
9+
import com.chad.library.adapter.base.BaseViewHolder;
910
import com.chad.library.adapter.base.MultipleItemRvAdapter;
1011

1112
import java.util.List;
@@ -17,7 +18,7 @@
1718
* @date 2018/3/30 11:28
1819
*/
1920

20-
public class DemoMultipleItemRvAdapter extends MultipleItemRvAdapter<NormalMultipleEntity> {
21+
public class DemoMultipleItemRvAdapter extends MultipleItemRvAdapter<NormalMultipleEntity,BaseViewHolder> {
2122

2223
public static final int TYPE_TEXT = 100;
2324
public static final int TYPE_IMG = 200;

app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/ImgItemProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
viewType = DemoMultipleItemRvAdapter.TYPE_IMG,
2222
layout = R.layout.item_image_view
2323
)
24-
public class ImgItemProvider extends BaseItemProvider<NormalMultipleEntity> {
24+
public class ImgItemProvider extends BaseItemProvider<NormalMultipleEntity,BaseViewHolder> {
2525

2626
@Override
2727
public void convert(BaseViewHolder helper, NormalMultipleEntity data, int position) {

app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/TextImgItemProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
viewType = DemoMultipleItemRvAdapter.TYPE_TEXT_IMG,
2121
layout = R.layout.item_img_text_view
2222
)
23-
public class TextImgItemProvider extends BaseItemProvider<NormalMultipleEntity> {
23+
public class TextImgItemProvider extends BaseItemProvider<NormalMultipleEntity,BaseViewHolder> {
2424

2525
@Override
2626
public void convert(BaseViewHolder helper, NormalMultipleEntity data, int position) {

app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/TextItemProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
viewType = DemoMultipleItemRvAdapter.TYPE_TEXT,
2121
layout = R.layout.item_text_view
2222
)
23-
public class TextItemProvider extends BaseItemProvider<NormalMultipleEntity> {
23+
public class TextItemProvider extends BaseItemProvider<NormalMultipleEntity,BaseViewHolder> {
2424

2525
@Override
2626
public void convert(BaseViewHolder helper, NormalMultipleEntity data, int position) {

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* @date 2018/3/21 9:55
2121
*/
2222

23-
public abstract class MultipleItemRvAdapter<T> extends BaseQuickAdapter<T, BaseViewHolder> {
23+
public abstract class MultipleItemRvAdapter<T,V extends BaseViewHolder> extends BaseQuickAdapter<T, V> {
2424

2525
private SparseArray<BaseItemProvider> mItemProviders;
2626
protected ProviderDelegate mProviderDelegate;
@@ -63,7 +63,7 @@ protected int getItemType(T t) {
6363
public abstract void registerItemProvider();
6464

6565
@Override
66-
protected void convert(BaseViewHolder helper, T item) {
66+
protected void convert(V helper, T item) {
6767
int itemViewType = helper.getItemViewType();
6868
BaseItemProvider provider = mItemProviders.get(itemViewType);
6969

@@ -75,7 +75,7 @@ protected void convert(BaseViewHolder helper, T item) {
7575
bindClick(helper, item, position, provider);
7676
}
7777

78-
private void bindClick(final BaseViewHolder helper, final T item, final int position, final BaseItemProvider provider) {
78+
private void bindClick(final V helper, final T item, final int position, final BaseItemProvider provider) {
7979
View itemView = helper.itemView;
8080

8181
itemView.setOnClickListener(new View.OnClickListener() {

library/src/main/java/com/chad/library/adapter/base/provider/BaseItemProvider.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
* @date 2018/3/21 10:41
1414
*/
1515

16-
public abstract class BaseItemProvider<T> {
16+
public abstract class BaseItemProvider<T,V extends BaseViewHolder> {
1717

1818
public Context mContext;
1919
public List<T> mData;
2020

21-
public abstract void convert(BaseViewHolder helper, T data, int position);
21+
public abstract void convert(V helper, T data, int position);
2222

23-
public abstract void onClick(BaseViewHolder helper, T data, int position);
23+
public abstract void onClick(V helper, T data, int position);
2424

25-
public abstract boolean onLongClick(BaseViewHolder helper, T data, int position);
25+
public abstract boolean onLongClick(V helper, T data, int position);
2626
}

0 commit comments

Comments
 (0)