마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

NestedScrollView 안의 RecyclerView의 마지막을 인식하고싶습니다.

0 추천
RecyclerListView의 동적 로딩을 구현 하고 싶은데

Coordinator안에 NestedScrollView 안에 RecyclerListView가 있는 형태에서

가장 아래부분을 인식하는 부분이 쉽지 않습니다 ㅠㅠ

OnScrollListner 인터페이스를 구현해서 메소드에 어떤 식으로 구현을 해야하나요?
익명사용자 님이 2018년 5월 1일 질문

1개의 답변

+1 추천
제가 쓰는 방법입니다.

public CustomAdapter(RecyclerView recycler) {
    if(recycler.getLayoutManager() instanceof LinearLayoutManager) {
      final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) recycler.getLayoutManager();
      recycler.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
          super.onScrolled(recyclerView, dx, dy);

          totalItemCount = linearLayoutManager.getItemCount();
          lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
          if(!loading && totalItemCount <= (lastVisibleItem + visibleThreshold)) {
            if(onLoadMoreListener != null) {
              onLoadMoreListener.onLoadMore();
            }
            loading = true;
          }
        }
      });
    }
  }

어댑터에서 위처럼 리스너를 등록하고

recyclerview가 위치한 액티비티에서

adapter.setOnLoadMoreListener(() -> {
        // TODO
    });

로 해야할 일을 작성하면 됩니다.

 

가장 아래부분은 visibleThreshold = 1로 하시면 됩니다.
Bateaux (5,200 포인트) 님이 2018년 5월 1일 답변
...