RecyclerView で無限リストを実装するにはどうすればいいですか? 質問する

RecyclerView で無限リストを実装するにはどうすればいいですか? 質問する

ListView変更したいRecyclerViewonScrollOnScrollListenerRecyclerViewユーザーがリストの最後までスクロールしたかどうかを判断します。

REST サービスから新しいデータを取得できるように、ユーザーがリストの最後までスクロールしたかどうかを知るにはどうすればよいですか?

ベストアンサー1

@Kushalに感謝します。これが私がそれを実装した方法です

private boolean loading = true;
int pastVisiblesItems, visibleItemCount, totalItemCount;

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        if (dy > 0) { //check for scroll down
            visibleItemCount = mLayoutManager.getChildCount();
            totalItemCount = mLayoutManager.getItemCount();
            pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();

            if (loading) {
                if ((visibleItemCount + pastVisiblesItems) >= totalItemCount) {
                    loading = false;
                    Log.v("...", "Last Item Wow !");
                    // Do pagination.. i.e. fetch new data

                    loading = true;
                }
            }
        }
    }
});

忘れずに追加してください

LinearLayoutManager mLayoutManager;
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);

おすすめ記事