안드로이드 스터디

RecyclerView CRUD 구현하기

mky 2025. 11. 2. 16:18

설명할 미션 : 보관함 화면에서 각 음악 item의 […] 버튼 클릭 시 해당 아이템 삭제해보기

 

1.어댑터 클래스에 리스너 인터페이스를 다음과 같이 작성한다.

//SavedsongRVAdapter.kt

interface MyItemClickListener {
        //fun onItemClick(savedSong: SavedSong)
        fun onRemoveSong(position: Int)
    }

 

2. 그리고 리스트의 아이템을 삭제하는 메서드를 정의해주자

//SavedsongRVAdapter.kt

//아이템 삭제용
    fun removeItem(position: Int) {
        savedsongList.removeAt(position)
        notifyDataSetChanged()
    }

 

3. 저장한 곡 프래그먼트에 다음과 같이 써 주자

//SavedsongFragment.kt

//등록한 리사이클러뷰 어댑터 객체에 리스너 세팅
        savedsongRVAdapter.setMyItemClickListener(object : SavedsongRVAdapter.MyItemClickListener {
            override fun onRemoveSong(position: Int) {
                savedsongRVAdapter.removeItem(position)
            }
        })

 

이러면 완성~