안드로이드/Debug

java.lang.NullPointerException: null cannot be cast to non-null type androidx.navigation.fragment.NavHostFragment

huzit 2023. 4. 18. 01:36
728x90

원인

BottomNavigation을 추가하던 중 

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

해결

private fun setBottomNav(){
    val navHostFragment = supportFragmentManager.findFragmentById(R.id.fragmentContainer) as NavHostFragment
    //바텀 네비게이션에 들어갈 네비게이션 컨트롤러 정의
    val navController = navHostFragment.findNavController()
    binding.bottomNav.setupWithNavController(navController)
}

호출위치 변경

클래스 프로퍼티에서 호출하던 것을 메서드로 넣어서 Null 가능성을 없앴습니다.

menu의 아이디와 navigation의 아이디가 다를 경우에도 발생할 수 있으니 꼭 breakpoint 찍어보고, id가 같은지 확인하고 시도할 것 추천드립니다.

728x90