public abstract class OnLoadMoreListener extends RecyclerView.OnScrollListener {
private boolean mIsScrollToBottom;
private boolean mLoading;
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mIsScrollToBottom = dy > 0;
}
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState != RecyclerView.SCROLL_STATE_IDLE) {
return;
}
if (!(recyclerView.getLayoutManager() instanceof LinearLayoutManager)) {
return;
}
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
int lastPosition = layoutManager.findLastCompletelyVisibleItemPosition();
int itemCount = layoutManager.getItemCount();
if (!mLoading && itemCount > 0 && mIsScrollToBottom && lastPosition == itemCount - 1) {
onLoadMore();
mLoading = true;
}
}
public abstract void onLoadMore();
public void onLoadingFinish() {
this.mLoading = false;
}
}
複製程式碼
RecyclerView載入更多監聽
相關文章
- 為RecyclerView新增分頁載入(上拉載入更多)功能View
- 載入更多
- vue指令做滾動載入 監聽等Vue
- 自定義RecyclerView新增HeaderView,新增FooterView,實現滑動到底部,載入更多ViewHeader
- 如何在vue中監聽scroll,從而實現滑動載入更多Vue
- MultiItem進階 實現Head Foot和載入更多-多型別RecyclerView Adapter多型型別ViewAPT
- 監聽DOM載入完成及改變——MutationObserver應用Server
- 【listener】oracle靜態監聽和動態監聽 【轉載】Oracle
- 載入更多 功能的實現
- 04-上拉載入更多
- 下拉重新整理--載入更多
- mui上拉載入更多的使用UI
- vue上拉載入更多元件Vue元件
- Flutter 例項 - 載入更多的ListViewFlutterView
- jQuery DataTables 的幾個坑,非同步載入(伺服器)、監聽、過載等等jQuery非同步伺服器
- (課程學習)Android必學-非同步載入 —— 監聽 ListViewAndroid非同步View
- angular 監聽 Windows 滾動事件 實現頁面滾動載入AngularWindows事件
- 直播app開發搭建,載入Html片段監聽滑動到底部APPHTML
- php原生上拉載入,點選載入更多(jQuery,ajax,mysql)PHPjQueryMySql
- 【轉載】AngularJS監聽路由變化AngularJS路由
- 監聽 watch props物件屬性監聽 或深度監聽物件
- Android 使用AsyncTask 後監聽非同步載入完畢的動作Android非同步
- 自己動手寫RecyclerView的上拉載入View
- 動態監聽與靜態監聽
- 動態監聽和靜態監聽
- OkHttp優雅的實現下載監聽HTTP
- jivejdon3中統計線上人數監聽器載入報異常
- RecyclerView下拉重新整理 上拉載入 原理DemoView
- Flutter 開發從 0 到 1(四)ListView 下拉載入和載入更多FlutterView
- Flutter 下拉重新整理上拉載入更多Flutter
- ListView分頁顯示 上拉載入更多View
- 封裝ListView,實現自動載入更多封裝View
- 微信小程式實現滾動載入更多微信小程式
- 【監聽】兩庫互配靜態監聽
- ORACLE動態監聽與靜態監聽Oracle
- oracle靜態監聽和動態監聽Oracle
- 【oracle】動態監聽與靜態監聽Oracle
- 微信小程式監聽input輸入並取值微信小程式