Songnae
537
2021-05-10 15:02:37
2
130

안드로이드 리싸이클러뷰 어댑터에서 다른 TextView 접근 질문있습니다ㅠㅠㅠㅠㅠ


메인 화면에 텍스트뷰하나(tv_a)와 그밑에 리싸이클러뷰를 두었습니다.

리싸이클러뷰 아이템중 1가지를 선택하면 메인화면의 텍스트뷰에 나타내고 싶은데 커스텀어댑터에서 tv_a에 접근하는 법을 모르겠습니다....ㅠㅠㅠ

혹시 알고계시면 댓글한번 부탁드립니다..ㅠㅠㅠ

0
  • 답변 2

  • OkkyActivity
    436
    2021-05-10 17:07:45

    Adapter 에서 [나의 몇번째 행이 클릭되었다] 라는 정보를 Activity 에 넘겨서,

    콜백을 받은 Activity 가 Textview 를 변경해주는게 통상적인 방법입니다~


    구글에 [recyclerview activity interface] 로 검색해보시면 

    원하시는 자료를 보실 수 있으실거에요




  • CyanGlint
    1k
    2021-05-10 17:32:53

    adapter를 activity에 inner class로 작성했을 경우 

    kotlin에선 this@ 스코프 열면 activity의 변수에 명시적으로 접근할 수 있습니다. 

    java에서도 비슷하게 할 수는 있지만 직관성이 좀 떨어지니 실수하지 않게 조심해야 하구요


    어댑터가 별도의 클래스로 완전히 분리되어 있을 경우

    앞서 답변처럼 콜백으로 구현하는게 바람직하겠구요

  • 로그인을 하시면 답변을 등록할 수 있습니다.