아이템 항목에 클릭시 보여질 텍스트 UI 만들기 android:visibility="visible"
class 에 var isExpanded: Boolean = false 등록
override fun onBindViewHolder에 뷰 가시성 설정
holder.phoneNumber.visibility = if (currentItem.isExpanded) View.VISIBLE else View.GONE
holder.infoTxt.visibility = if (currentItem.isExpanded) View.VISIBLE else View.GONE
항목 리스너 설정
holder.itemView.setOnClickListener {
if (expandedPosition >= 0 && expandedPosition != position){
NameList[expandedPosition].isExpanded = false
notifyItemChanged(expandedPosition)
}
currentItem.isExpanded = !currentItem.isExpanded // 아이템 상태 토글
notifyItemChanged(position) // 해당 아이템이 변경되었음을 알림
listener.onItemClick(currentItem, position)
expandedPosition = if (currentItem.isExpanded) position else -1}
이전 항목 축소하기
if (expandedPosition >= 0 && expandedPosition != position) { NameList[expandedPosition].isExpanded = false notifyItemChanged(expandedPosition)
}
현재 항목의 확장 상태 변경
currentItem.isExpanded = !currentItem.isExpanded
항목 변경 알림
notifyItemChanged(position)
확장된 항목의 위치 저장
expandedPosition = if (currentItem.isExpanded) position else -1