import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_main.*
이들이 안될때
plugins 에 'kotlin-android-extensions' 를 추가 하고 상단에 나오는 'sync now' 클릭 해 준다.
plugin 을 추가 안 했을때는
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_main.*
요걸 import 하라는 요청도 없다.
이게 안될때 나오는 문제로는 xml의 id 를 통한 접근이 불가능 하다.
navController = nav_host_fragment.findNavController() <-- 요 방법으로 접근이 불가능 하다
대체 방법으로는
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
요런식으로 fragment 를 찾아서 접근이 가능하다.
pugin 을 추가 해도 되고 저렇게 리소스를 접근해서 하는 방식 둘다 사용이 가능하니 참고 하시길..
'Android 앱 > Android 개발 팁' 카테고리의 다른 글
anko library 적용 (0) | 2020.02.19 |
---|---|
Andorid Stuido java 환경 설정 추가 (0) | 2020.01.03 |