1. ホーム
  2. android

[解決済み] RecyclerViewでエンドレスリストを実装するには?

2022-03-14 02:10:41

質問

を変更したいのですが。 ListView から RecyclerView . を使いたいのですが onScroll OnScrollListener RecyclerView を使用して、ユーザーがリストの最後までスクロールしたかどうかを判断しています。

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

どのように解決するのですか?

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);