diff --git a/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java b/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java index 9d6a5f1..ae5da18 100644 --- a/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java +++ b/library/src/main/java/com/cundong/recyclerview/EndlessRecyclerOnScrollListener.java @@ -67,6 +67,8 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) { staggeredGridLayoutManager.findLastVisibleItemPositions(lastPositions); lastVisibleItemPosition = findMax(lastPositions); break; + default: + break; } } diff --git a/library/src/main/java/com/cundong/recyclerview/HeaderAndFooterRecyclerViewAdapter.java b/library/src/main/java/com/cundong/recyclerview/HeaderAndFooterRecyclerViewAdapter.java index 3a13e73..34111e4 100644 --- a/library/src/main/java/com/cundong/recyclerview/HeaderAndFooterRecyclerViewAdapter.java +++ b/library/src/main/java/com/cundong/recyclerview/HeaderAndFooterRecyclerViewAdapter.java @@ -72,8 +72,7 @@ public HeaderAndFooterRecyclerViewAdapter(RecyclerView.Adapter innerAdapter) { */ public void setAdapter(RecyclerView.Adapter adapter) { - if (adapter != null) { - if (!(adapter instanceof RecyclerView.Adapter)) + if (adapter != null&&!(adapter instanceof RecyclerView.Adapter)) { throw new RuntimeException("your adapter must be a RecyclerView.Adapter"); } diff --git a/library/src/main/java/com/cundong/recyclerview/RecyclerViewUtils.java b/library/src/main/java/com/cundong/recyclerview/RecyclerViewUtils.java index 234d02d..8225d7c 100644 --- a/library/src/main/java/com/cundong/recyclerview/RecyclerViewUtils.java +++ b/library/src/main/java/com/cundong/recyclerview/RecyclerViewUtils.java @@ -75,14 +75,10 @@ public static void removeFooterView(RecyclerView recyclerView) { public static void removeHeaderView(RecyclerView recyclerView) { RecyclerView.Adapter outerAdapter = recyclerView.getAdapter(); - - if (outerAdapter != null && outerAdapter instanceof HeaderAndFooterRecyclerViewAdapter) { - - int headerViewCounter = ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).getHeaderViewsCount(); - if (headerViewCounter > 0) { - View headerView = ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).getHeaderView(); - ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).removeFooterView(headerView); - } + int headerViewCounter = ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).getHeaderViewsCount(); + if (outerAdapter != null && outerAdapter instanceof HeaderAndFooterRecyclerViewAdapter && headerViewCounter > 0) { + View headerView = ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).getHeaderView(); + ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).removeFooterView(headerView); } } @@ -95,12 +91,9 @@ public static void removeHeaderView(RecyclerView recyclerView) { */ public static int getLayoutPosition(RecyclerView recyclerView, RecyclerView.ViewHolder holder) { RecyclerView.Adapter outerAdapter = recyclerView.getAdapter(); - if (outerAdapter != null && outerAdapter instanceof HeaderAndFooterRecyclerViewAdapter) { - - int headerViewCounter = ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).getHeaderViewsCount(); - if (headerViewCounter > 0) { - return holder.getLayoutPosition() - headerViewCounter; - } + int headerViewCounter = ((HeaderAndFooterRecyclerViewAdapter) outerAdapter).getHeaderViewsCount(); + if (outerAdapter != null && outerAdapter instanceof HeaderAndFooterRecyclerViewAdapter && headerViewCounter > 0) { + return holder.getLayoutPosition() - headerViewCounter; } return holder.getLayoutPosition(); diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java index d3b1f4d..baf0955 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessGridLayoutActivity.java @@ -151,6 +151,8 @@ public void handleMessage(Message msg) { case -3: RecyclerViewStateUtils.setFooterViewState(activity, activity.mRecyclerView, REQUEST_COUNT, LoadingFooter.State.NetWorkError, activity.mFooterClick); break; + default: + break; } } } diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java index e06722d..f8306bd 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessLinearLayoutActivity.java @@ -157,6 +157,8 @@ public void handleMessage(Message msg) { case -3: RecyclerViewStateUtils.setFooterViewState(activity, activity.mRecyclerView, REQUEST_COUNT, LoadingFooter.State.NetWorkError, activity.mFooterClick); break; + default: + break; } } } diff --git a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java index 9f1d317..b9892d2 100644 --- a/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java +++ b/sample/src/main/java/com/cundong/recyclerview/sample/EndlessStaggeredGridLayoutActivity.java @@ -152,6 +152,8 @@ public void handleMessage(Message msg) { case -3: RecyclerViewStateUtils.setFooterViewState(activity, activity.mRecyclerView, REQUEST_COUNT, LoadingFooter.State.NetWorkError, activity.mFooterClick); break; + default: + break; } } }