다음 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])
}
}
'android > 문제해결' 카테고리의 다른 글
android java.lang.exceptionininitializererror (0) | 2022.06.26 |
---|---|
에러: Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin (0) | 2022.06.25 |
최근댓글