마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리사이클러뷰 데이터바인딩 클릭처리

0 추천
<androidx.cardview.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/card_border"
    android:onClick="@{()->adapter.onTest(productInfo)}"

길이제한때문에 일부만 이렇게 onclick을 썼습니다 

itemView.setOnSingleClickListener {
    val intent = Intent(context, RoomsDetailActivity::class.java)
    intent.putExtra("item", item)
    context.startActivity(intent)
}
itemView.btn_remember_on.setOnSingleClickListener {
    item.check = false

    rememberBtnOff(itemView)
    rememberListener.onClick(item)
}

데이터바인딩을 쓰기전에 일단 이런방식으로 쓰고

fun onTest(item:ProductInfos) {
    val intent = Intent(context, RoomsDetailActivity::class.java)
    intent.putExtra("item", item)
    context.startActivity(intent)
}

리사이클러뷰 어댑터에서 쓴코드들이구요 클릭시의 데이터바인딩을해보려고 이렇게써봤는데 안되네용.. 

(현재 방식으론 잘되고 이걸 데이터바인딩을 적용시켜보고싶습니다) 이미지, 텍스트는 성공했는데 클릭리스너는.. 어떤방식으로 써야할지 어댑터에서 지금 하는방식인 그냥 콜백하는 형태로 써도 되나요..? 구글링을 계속해봐도 답이안나옵니다 ㅠㅠ

 

수원통학러 (3,570 포인트) 님이 2020년 9월 30일 질문

1개의 답변

0 추천
리사이클러뷰의 경우 포지션값을 활용하여 그 포지션에 해당하는 원하는 값을 받아올 수 있습니다.
꿀개 (2,440 포인트) 님이 2020년 10월 8일 답변
...