작성
·
42
0
네비게이션 에러가 자꾸 발생하는데 강의대로 다 셋팅했는데도 자꾸발생됩니다.. 바로 이전질문에 남긴 깃헙주소입니다
네비게이션 오류 발생!
java.lang.IllegalStateException: View android.widget.FrameLayout{139213e V.E...... ........ 0,0-1080,2205} does not have a NavController set
https://github.com/Passionhruit/my_solo_life
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. Mia님.
java.lang.IllegalStateException: View does not have a NavController set
오류는 Android 앱 개발 시 네비게이션 컴포넌트를 사용할 때 자주 발생하는 이슈입니다. 네비게이션은 특정 View에 NavController
를 연결해야만 제대로 동작합니다.
이 문제를 해결하기 위해 확인해야 할 몇 가지 사항은 다음과 같습니다:
NavHostFragment를 포함하고 있는지 확인: XML 레이아웃 파일에서 NavHostFragment
를 적절하게 설정했는지 확인하세요. 예를 들어:
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
app:navGraph="@navigation/nav_graph"
app:defaultNavHost="true"
android:layout_width="match_parent"
android:layout_height="match_parent" />
nav_host_fragment
ID는 Java/Kotlin 코드에서 사용됩니다.
NavController 설정: NavHostFragment
와 연결된 NavController
를 가져와야 합니다. 이 코드를 Activity
또는 Fragment
에서 실행하세요.
val navController = findNavController(R.id.nav_host_fragment)
위 코드에서 R.id.nav_host_fragment
는 XML에 설정한 NavHostFragment
의 ID와 일치해야 합니다.
먼저 Layout 파일 확인: XML 파일이 정확히 작성되어 있는지, 그리고 네비게이션 그래프를 제대로 불러오고 있는지 확인하세요.
관련된 기존의 유사한 문제와 해결 방법이 설명된 게시물을 아래에서 확인할 수 있습니다.
NavHostFragment
에 대한 조언을 포함하여 다양한 방향에서의 해결책을 제시하고 있습니다.위 내용을 참고하시어 다시 시도해 보신 후에도 여전히 문제가 발생한다면, 깃허브 코드와 관련해서 특정 지점에 대한 더 많은 정보를 제공해주시면 추가적인 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.