Skip to content

Commit 00095c3

Browse files
authored
Merge pull request CymChad#1381 from FrankKwok/master
fix CymChad#1379
2 parents ebbeeaf + 51faff2 commit 00095c3

File tree

2 files changed

+17
-18
lines changed

2 files changed

+17
-18
lines changed

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,8 +1001,14 @@ protected K createBaseViewHolder(View view) {
10011001
z = getInstancedGenericKClass(temp);
10021002
temp = temp.getSuperclass();
10031003
}
1004-
K k = createGenericKInstance(z, view);
1005-
return null != k ? k : (K) new BaseViewHolder(view);
1004+
K k;
1005+
// 泛型擦除会导致z为null
1006+
if (z == null) {
1007+
k = (K) new BaseViewHolder(view);
1008+
} else {
1009+
k = createGenericKInstance(z, view);
1010+
}
1011+
return k != null ? k : (K) new BaseViewHolder(view);
10061012
}
10071013

10081014
/**

library/src/main/java/com/chad/library/adapter/base/callback/ItemDragAndSwipeCallback.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import com.chad.library.R;
99
import com.chad.library.adapter.base.BaseItemDraggableAdapter;
10+
import com.chad.library.adapter.base.BaseQuickAdapter;
1011

1112
/**
1213
* Created by luoxw on 2016/6/20.
@@ -15,13 +16,13 @@ public class ItemDragAndSwipeCallback extends ItemTouchHelper.Callback {
1516

1617
// private static final String TAG = ItemDragAndSwipeCallback.class.getSimpleName();
1718

18-
BaseItemDraggableAdapter mAdapter;
19+
private BaseItemDraggableAdapter mAdapter;
1920

20-
float mMoveThreshold = 0.1f;
21-
float mSwipeThreshold = 0.7f;
21+
private float mMoveThreshold = 0.1f;
22+
private float mSwipeThreshold = 0.7f;
2223

23-
int mDragMoveFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT;
24-
int mSwipeMoveFlags = ItemTouchHelper.END;
24+
private int mDragMoveFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT;
25+
private int mSwipeMoveFlags = ItemTouchHelper.END;
2526

2627
public ItemDragAndSwipeCallback(BaseItemDraggableAdapter adapter) {
2728
mAdapter = adapter;
@@ -81,11 +82,7 @@ public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder v
8182

8283
@Override
8384
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) {
84-
if (source.getItemViewType() != target.getItemViewType()) {
85-
return false;
86-
} else {
87-
return true;
88-
}
85+
return source.getItemViewType() == target.getItemViewType();
8986
}
9087

9188
@Override
@@ -188,11 +185,7 @@ public void onChildDrawOver(Canvas c, RecyclerView recyclerView, RecyclerView.Vi
188185

189186
private boolean isViewCreateByAdapter(RecyclerView.ViewHolder viewHolder) {
190187
int type = viewHolder.getItemViewType();
191-
if (type == mAdapter.HEADER_VIEW || type == mAdapter.LOADING_VIEW
192-
|| type == mAdapter.FOOTER_VIEW || type == mAdapter.EMPTY_VIEW) {
193-
return true;
194-
}
195-
return false;
196-
188+
return type == BaseQuickAdapter.HEADER_VIEW || type == BaseQuickAdapter.LOADING_VIEW
189+
|| type == BaseQuickAdapter.FOOTER_VIEW || type == BaseQuickAdapter.EMPTY_VIEW;
197190
}
198191
}

0 commit comments

Comments
 (0)