[Android] Navigation does not have a NavController set...

Janzizu·2022년 10월 3일
0

안드로이드 에러

목록 보기
3/5
post-thumbnail
post-custom-banner

Jetpack naviagation 을 쓰는 와중에 아래와 같은 에러가 발생하였다.

  binding.bottomNavigationView.setupWithNavController(binding.NavHostFragment.findNavController())

  binding.NavHostFragment.findNavController()

위의 코드에서 에러가 발생하였다.

우선적으로 xml 파일에 가서 fragment 를 FragmentContainerView로 변경해주었다.
(FragmentContainerView를 사용시에는 xml레이아웃상 id가 반드시 필요하다.)

FragmentContainerView를 사용하여 NavHostFragment를 만들 때
Navigation.findNavController를 통하여 NavController를 검색하려고 하면 실패한다고 한다.
대신에 NavHostFragment에서 직접 NavController를 검색할 수 있게 해준다.

val navHostFragment =
        supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController

위와 같이 수정하였더니 에러가 해결되었다.

post-custom-banner

0개의 댓글