말씀해 주신대로 onCreateViewHolder로 setOnClickListener 부분을 옮겼습니다. 문제는, onBindViewHolder의 position을 onCreateViewHolder에서 호출하는 부분입니다.ㅠㅠ
inner class FollowRecyclerViewAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>(){
override fun onCreateViewHolder(p0: ViewGroup, p1: Int): RecyclerView.ViewHolder {
var view = LayoutInflater.from(p0.context).inflate(R.layout.item_follow,p0,false)
var vh = RecyclerView.Adapter(view)
//좋아요가 클릭된 경우
//다시 카운터 매칭
view.followitem_favorite_imageview.setOnClickListener {
favoriteEvent(currentUserUid!!, vh.adapterPosition)
}
//북마크 아이콘 표시
if(contentDTOs[p1].uid != currentUserUid){
view.followitem_bookmark_imageview.visibility = View.VISIBLE
}
return CustomViewHolder(view)
}
inner class CustomViewHolder(view: View) : RecyclerView.ViewHolder(view) {
}
override fun getItemCount(): Int {
return contentDTOs!!.size
}
override fun onBindViewHolder(p0: RecyclerView.ViewHolder, p1: Int) {
var viewholder = (p0 as CustomViewHolder).itemView
<--이하 생략-->
}
}
위의 코드에서
var vh = RecyclerView.Adapter(view)
이 부분에 빨간줄이 떠서 실행할 수 없습니다.
제가 놓치고 있는 부분이 어느부분인가요?..