public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); int lastVisibleItem = mLayoutManager.findLastVisibleItemPosition(); int totalItemCount = mLayoutManager.getItemCount(); if (lastVisibleItem >= totalItemCount - 4 && dy > 0) { if (mState == STATE_NONE && mAdapter != null && mAdapter.getDataSize() > 0) { loadMore(); } } };
/** * 获取数据失败时候调用的代码 * * @param error */ protected void executeOnLoadDataError(String error) { if (mCurrentPage == 0) { if (mAdapter.getDataSize() == 0) { mErrorLayout.setErrorType(EmptyLayout.NETWORK_ERROR); } else { mErrorLayout.setErrorType(EmptyLayout.HIDE_LAYOUT); String message = error; if (TextUtils.isEmpty(error)) { if (TDevice.hasInternet()) { message = getString(R.string.tip_load_date_error); } else { message = getString(R.string.tip_network_error); } } AppContext.showToashShort(message); } } else { mErrorLayout.setErrorType(EmptyLayout.HIDE_LAYOUT); mAdapter.setState(RecycleBaseAdapter.STATE_NETWORK_ERROR); } mAdapter.notifyDataSetChanged(); }