본문 바로가기
Back End/Android(

Android/ 리사이클러뷰(RecyclerView) 페이징 처리

by healingmau 2022. 7. 20.

 

리사이클러뷰(RecyclerView) 페이징 처리

 

목록을 화면에 출력하고 동적인 표현이 가능한

리사이클러뷰는 리스트 표현에 많이 사용됩니다.

 

리사이클러뷰(RecyclerView)가

맨 끝까지 도달했는지 페이징 처리하기!

 

recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
	@Override
	public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
		super.onScrollStateChanged(recyclerView, newState);
	}

	@Override
	public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
		super.onScrolled(recyclerView, dx, dy);
				
		// 리사이클러뷰 가장 마지막 index
		int lastPosition = ((LinearLayoutManager) recyclerView.getLayoutManager())
			.findLastCompletelyVisibleItemPosition();
		
        // 받아온 리사이클러 뷰 카운트
		int totalCount = recyclerView.getAdapter().getItemCount();

		// 스크롤을 맨 끝까지 한 것!
		if(lastPosition == totalCount -1){
			// 이곳에 스크롤이 맨 끝에 왔을 경우
			// 행동할 코드 입력
		}
	}
});

 

lastPosition  변수 → 마지막 index

totalCount 변수 → 받아온 RecyclerView 뷰 카운트

totalCount -1 → totalCount 는 1부터 세기 때문에

 

 

글 출처 : https://mscha.tistory.com/236

 

[Android] 리사이클러뷰 스크롤 위치 찾기, 페이징 처리

recyclerView = findViewById(R.id.recyclerView); recyclerView.setHasFixedSize(true); recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this)); // 리사이클러뷰가 맨 밑까지 갔는지 알..

mscha.tistory.com

힐링아무의 코딩일기 힐코딩!!

댓글