簡體   English   中英

如何使用 ROOM 庫將數千條記錄從本地數據庫加載到 recyclerview 而不阻塞 UI

[英]How to load thousands of records from local database to recyclerview without blocking UI using ROOM library

我正在使用本地數據庫在 recyclerview 上加載記錄,問題是記錄的大小約為六千,當我單擊打開或在 recyclerview 中顯示這些記錄時,我的設備卡住了幾秒鍾,出現空白屏幕,幾秒鍾過去了出現並顯示記錄。 有沒有辦法在不阻塞 UI 的情況下在 recyclerview 上加載數千條記錄或數據? 請讓我知道,謝謝

將此方法復制並粘貼到您的活動/基礎活動中。 並在yourRecyclerview.setAdapter(YourAdapter)之后調用它

public void PagginationRecyclerView(RecyclerView rv) {
   rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);

            LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
            int total = layoutManager.getItemCount();
            int currentLastItem = layoutManager.findLastVisibleItemPosition();
            if (currentLastItem == total - 1) {
                Toast.makeText(BaseActivity.this, "Load Next", Toast.LENGTH_SHORT).show();
                // Request to Database to load more data
            }
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM