0

我正在使用本地数据库在 recyclerview 上加载记录,问题是记录的大小约为六千,当我单击打开或在 recyclerview 中显示这些记录时,我的设备卡住了几秒钟,出现一个空白屏幕,几秒钟后通过它出现并显示记录。有没有办法在不阻塞 UI 的情况下在 recyclerview 上加载数千条记录或数据?请让我知道,谢谢

4

1 回答 1

1

将此方法复制并粘贴到您的 Activity / Baseactivity。然后调用它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
            }
        }
    });
}
于 2021-07-24T11:19:05.227 回答