diff --git a/ByRecyclerview/src/main/java/me/jingbin/library/ByRecyclerView.java b/ByRecyclerview/src/main/java/me/jingbin/library/ByRecyclerView.java index 72b17e9..06106e6 100644 --- a/ByRecyclerview/src/main/java/me/jingbin/library/ByRecyclerView.java +++ b/ByRecyclerview/src/main/java/me/jingbin/library/ByRecyclerView.java @@ -202,7 +202,9 @@ public void onClick(View v) { postDelayed(new Runnable() { @Override public void run() { - mLoadMoreListener.onLoadMore(); + if (mLoadMoreListener != null) { + mLoadMoreListener.onLoadMore(); + } } }, mLoadMoreDelayMillis); } @@ -229,7 +231,9 @@ public void setRefreshing(boolean refreshing) { postDelayed(new Runnable() { @Override public void run() { - mRefreshListener.onRefresh(); + if (mRefreshListener != null) { + mRefreshListener.onRefresh(); + } } }, 300 + mRefreshDelayMillis); } @@ -368,7 +372,9 @@ && isScrollLoad() postDelayed(new Runnable() { @Override public void run() { - mLoadMoreListener.onLoadMore(); + if (mLoadMoreListener != null) { + mLoadMoreListener.onLoadMore(); + } } }, mLoadMoreDelayMillis); } @@ -455,7 +461,9 @@ && isOnTop() postDelayed(new Runnable() { @Override public void run() { - mRefreshListener.onRefresh(); + if (mRefreshListener != null) { + mRefreshListener.onRefresh(); + } } }, 300 + mRefreshDelayMillis); } @@ -813,7 +821,9 @@ private void autoLoadMore(int position) { postDelayed(new Runnable() { @Override public void run() { - mLoadMoreListener.onLoadMore(); + if (mLoadMoreListener != null) { + mLoadMoreListener.onLoadMore(); + } } }, mLoadMoreDelayMillis); } @@ -1423,6 +1433,12 @@ public void destroy() { mRefreshEnabled = false; mPreLoadNumber = 1; mLoadMoreEnabledStatus = 0; + mRefreshListener = null; + mLoadMoreListener = null; + onItemClickListener = null; + onItemLongClickListener = null; + mOnItemChildClickListener = null; + mOnItemChildLongClickListener = null; if (mHeaderViews != null) { mHeaderViews.clear(); } diff --git a/ByRecyclerview/src/main/java/me/jingbin/library/adapter/BaseByRecyclerViewAdapter.java b/ByRecyclerview/src/main/java/me/jingbin/library/adapter/BaseByRecyclerViewAdapter.java index 97c31e7..cf45e86 100644 --- a/ByRecyclerview/src/main/java/me/jingbin/library/adapter/BaseByRecyclerViewAdapter.java +++ b/ByRecyclerview/src/main/java/me/jingbin/library/adapter/BaseByRecyclerViewAdapter.java @@ -73,7 +73,7 @@ public List getData() { } public T getItemData(int position) { - if (mData != null && mData.size() > 0 && position < mData.size()) { + if (mData != null && mData.size() > 0 && position >= 0 && position < mData.size()) { return mData.get(position); } return null;