android/문제해결
RecyclerView의 ViewHolder에서 adapterPostion이 deprecated 됨
foon
2022. 6. 25. 21:53
다음 adapterPosition 사용부가 deprecated 되었다.
inner class ViewHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener {
var mTextView: TextView = v.file_name
init {
v.setOnClickListener(this)
}
override fun onClick(v: View) {
recyclerViewItemClickListener.clickOnItem(mDataSet[this.adapterPosition])
}
}
구글링, 다음과 같이 bindingAdaterPostion을 사용하여 해결하였다.
bindingAdapterPosition과 absoluteAdapterPostion 중에 하나를 사용하면 된다.
그러나, 여러 Adapter를 이어서 사용하는 경우에는 두 값이 다르다고 하는데, 필요할 때 살펴보자.
(참고 https://growup-lee.tistory.com/entry/Android-ViewHolder-getAdapterPosition-Deprecated )
inner class ViewHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener {
var mTextView: TextView = v.file_name
init {
v.setOnClickListener(this)
}
override fun onClick(v: View) {
recyclerViewItemClickListener.clickOnItem(mDataSet[this.bindingAdapterPosition])
}
}