JY Tech

[Android]리사이클러뷰 데이터 갱신 본문

Programming/Study

[Android]리사이클러뷰 데이터 갱신

J.Dragon 2024. 1. 25. 00:14

리사이클러뷰를 사용하다보면 아이템 전부를 갱신해 줘야 할 때가 있다.

이 때 사용할 수 있는 것중하나가 notifyDataSetChanged() 이다.

 

쉽게말하면 "리사이클러뷰의 내용이 변경됐어요"라고 알려준다고 생각하면 된다.

 

사실 리사이클러뷰를 변경할 때 notifyDataSetChanged()를 사용하는 방법은 추천되는 방법은 아니다.

 

이 기능을 사용하면 아이템을 아예 다시 그리기 때문에 데이터가 많아질 경우 예기치 못한 오류(일시적으로 깜빡거림)를 발생시킬 수 있다.

 

하지만 나처럼 초보자거나 정말로 모든 부분을 바꿔야 한다면 편하게 쓸 수 있을것이다.

 

public void onClick(View view) {
    getDrawRescycle();//리사이클러뷰에 데이터를 넣어주는 함수
    myAdapter.notifyDataSetChanged();//내 어댑터명.notifyDataSetChanged()를 하면 됨
}

 

참고로 리사이클러뷰에 데이터를 넣을 때 리스트를 사용하는데 이걸 꼭 지워줘야 한다.

myList.clear();

이런식으로 리사이클러뷰를 그리는 코드 제일 윗줄에 clear를 통해 List를 비워주면 된다.