초기화 버튼을 눌렀을 때 recyclerView에 있는 아이템들이
전체 삭제가 되도록 하는 코드에 대해 알아보겠습니다.
우선 Adapter에서 새로운 함수를 하나 만들어야 합니다.
clearAll이라는 함수 이름으로 recyclerView에 존재하는 아이템을 모두 삭제시키는 함수로 만들어봅시다.
public class NumberAdapter extends RecyclerView.Adapter<NumberAdapter.ViewHolder>{
ArrayList<Number> numbers = new ArrayList<Number>();
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View itemView = inflater.inflate(R.layout.number_item, parent, false);
return new ViewHolder(itemView);
}
public void clearAll(){
numbers.clear();
notifyDataSetChanged();
}
ArrayList<Number> numbers = new ArrayList<Number>()의
Number는 Number.class로 리사이클러뷰에 뜨는
각 아이템의 데이터를 담아둘 클래스입니다.
https://mangdang2468.tistory.com/13
그리고 새롭게 만든 함수 public void clearAll(){} 안에 numbers.clear()를 입력하면
clearAll()이 호출되었을 때 리사이클러뷰 안에 있는 아이템들이 모두 제거됩니다.
그런데 numbers.clear()를 분명히 입력하였는데 리사이클러뷰의 아이템이
제거가 되는 것이 눈으로 확인되지 않는다면
notifyDataSetChanged()를 빼먹었을 수도 있습니다.
notifyDataSetChanged()는 RecyclerView가 갱신시켜줍니다.
numbers.clear() 후 recyclerView를 갱신하여
recyclerView에서 아이템이 제거되는 것을 보여줍니다.
이제 버튼을 클릭했을 때 NumberAdapter의 clearAll()이 호출되도록 만들어주기만 하면 됩니다.
NumberAdapter adapter = new NumberAdapter();
button_reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
adapter.clearAll();
}
});
이렇게 작성하면 버튼(button_reset)을 눌렀을 때 recyclerView의 아이템이 전체 삭제가 됩니다.
리사이클러뷰에 들어있는 1~8번까지의 아이템이
설정 초기화 버튼을 클릭함으로써 전체 삭제가 되고 리사이클러뷰가 갱신이 되어
리사이클러뷰 안에는 아무것도 없는 상태가 된 것을 확인할 수 있습니다.
'안드로이드 스튜디오 앱 개발 > 개념 안드로이드 스튜디오' 카테고리의 다른 글
자바(JAVA) 언어에 대해서 확실하게 알아보자!! 그리고 자바의 객체 지향 프로그래밍이란? (0) | 2023.06.22 |
---|---|
안드로이드 스튜디오 드로어블 객체로 배경 지정하기(자바 코드) (0) | 2023.06.20 |
안드로이드 스튜디오 리사이클러뷰 만들기 [Android Studio] (0) | 2023.06.19 |
안드로이드 스튜디오 타이틀 바 글자 폰트와 색 변경하기 [Android Studio] (0) | 2023.06.15 |
액티비티와 액티비티 간의 화면 전환 [Android Studio] (0) | 2023.06.13 |