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

프래그먼트 뷰바인딩 관련 질문

0 추천
프래그먼트에서 뷰바인딩을 어떻게 하나요

FragmentMenuBinding  쳐보니 unresolved reference 라고 뜨네요
lgh (290 포인트) 님이 2021년 11월 2일 질문

2개의 답변

0 추천
 
채택된 답변
우선 안드로이드 스튜디오의  app에 있는  build.gradle 뷰바인딩을 사용할 수 있도록 설정을 해주셔야 하구요.

 뷰바인딩은 클래스가 아니라 xml 파일의 이름을 따라갑니다. 따라서 위의 경우는 fragment_menu.xml 이라는 파일이 존재해야 합니다.

개발자 문서를 보시면 해결되실 거예요.

https://developer.android.com/topic/libraries/view-binding
spark (227,930 포인트) 님이 2021년 11월 2일 답변
lgh님이 2021년 11월 2일 채택됨
오 됬네요 감사합니다!
참고로 Fragment에서 ViewBinding을 사용할 때는 프레그먼트는 프레그먼트에 있는 뷰보다 수명이 길기 때문에 뷰들에 대한 참조를 가진 binding변수를 onDestoryView에서 해제해주지 않으면 디바이스 회전 등의 경우 프레그먼트의 뷰들이 다시 생성되고,  binding변수는 이전 뷰 객체들에 대한 참조를 가지기 때문에 memory leak이 생길 수가 있습니다. 이 내용은 개발자 문서에 언급되어 있는데, 코틀린을 사용하실 경우는 property delegate를 통해 간단하게 처리할 수가 있습니다. 아래 블로그를 참고하세요.
https://zhuinden.medium.com/simple-one-liner-viewbinding-in-fragments-and-activities-with-kotlin-961430c6c07c
0 추천
프래그먼트 뷰바인딩 작성시 참고하실수 있는 블로그 링크 달아드립니다.

https://cliearl.github.io/posts/android/apply-viewbinding/
냉동코더 (140 포인트) 님이 2021년 11월 3일 답변
냉동코더님이 2021년 11월 4일 수정
...