210507 Unresolved Reference : FragmentTitleBinding 에러
(추가)
Unresolved Reference :
말그대로 지금 쓰려는 변수명이 뭔지 모르겠다는것
먼저 점검해볼것은
1. 오타
2. 필요한 class나 library가 제대로 import 되지 않음(class 를 만들지 않음)
또,, 여러가지 경우의 수가 있겠지만 이 키워드를 검색해보는 나같은 초짜시라면은
위 두가지 경우일듯함...
나는 2번인 셈인데 import 안된게 캐시문제였던거같다.
저번에 Navigation 구현(?) 중 막힌게 이 오류였다...
Fragment 의 코틀린 코드 부분, OnCreateView 에서 data binding 을 위한 코드를 작성하는데
val binding = DataBindingUtil.inflate<FragmentTitleBinding>(inflater,
R.layout.fragment_title, container, false )
요기서 FragmentTitleBinding 부분에 빨간색 쫘악....
아무것도 모르는 나는 도대체 FragmentTitleBinding 이 어디 라이브러리에있는건지 예제에서는 정의가되어있는데 내 파일엔 안되어있는건지 토털리 길을잃고 헤메다가 Fragment 부분을 다시공부하는중...
보니까 근본적으로는(?)
import com.example.android.navigation.databinding.FragmentTitleBinding
요게 import 되지 않은게 문제였던듯 하다
( data binding 을 켜고 fragment_title.xml 레이아웃 파일을 작성하면 자동으로 위 이름처럼 클래스가 만들어지고 저걸 자동완성으로 쓰면 안드스튜디오가 알아서 임포트해주는데...
databinding 부분부터 추천이 안떴었다.... )
몰라..왜 저번에는 임포트 추천도 안해주고 그런거야 안드스튜디오야... data binding 사용한다고 Gradle에 썼는데 왜...
스택오버플로의 질문글을 보니 data binding On 해주고 Sync한 후에 리빌딩을 해줘야한다고한다...
오류가 나면 File > Invalidate Caches / Restart 해보라고...
이렇게 해서 해결은 했는데
그래서 저게 뭔지 또 구글링 해보고 안드 공식문서도 검색해봤는데 잘 못찾는건지 여전히 잘 모르겠다.....
안드 공식 교육자료에 따르면
To inflate the Fragment's view, call the DataBindingUtil.inflate() method on the Fragment's Binding object, which is FragmentTitleBinding. |
요렇게 나와있는데...............뭐...그래서 저게뭐라고...?하.....
다음에도 또 그러면 참고하고자 글로 남겨두기!
뭐암튼 다시 공부하는건 손해는 아닌거같아서 Fragment 생성과 Navigation, Data binding은 다시 찬찬히 복습해볼 생각이다...
* 언급 된 정보들의 출처
* 내가 읽은 stack overflow 글
stackoverflow.com/questions/57303513/unresolved-reference-fragmenttitlebinding
Unresolved Reference : FragmentTitleBinding
I want to use fragments in my android application but I can't import FragmentTitleBinding in my fragment class I tried all possible solutions on the internet I checked layout tags in xml file I ...
stackoverflow.com
* 위 인용문 출처
Android Kotlin Fundamentals: Create a fragment | Android 개발자
In this codelab, you learn how to create a fragment and add it to an app.
developer.android.com