일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프로그래머스 알고리즘
- 주엽역 생활맥주
- 안드로이드 Sunflower 스터디
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 프로그래밍
- 막내의막무가내 플러터
- 막내의막무가내 코볼 COBOL
- Fragment
- flutter network call
- 안드로이드 sunflower
- 막내의 막무가내 알고리즘
- 막무가내
- 안드로이드
- 막내의막무가내 일상
- 막내의막무가내
- 막내의막무가내 알고리즘
- 막내의막무가내 플러터 flutter
- 주택가 잠실새내
- 프래그먼트
- 막내의 막무가내
- 부스트코스에이스
- 부스트코스
- 2022년 6월 일상
- 막내의막무가내 목표 및 회고
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 안드로이드
- 막내의막무가내 rxjava
- 막내의막무가내 코틀린
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 SQL
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[안드로이드] Jetpack Navigation Fragment 관련 에러해결 java.lang.IllegalArgumentException: No view found for id 0x7f090102 (com.mtjin.bungsegwon:id/main_navigation_view) for fragment MainEnrollFragment{815f3ee} (abd6ddc7-177d-4b7a-99a0-3d2d4.. 본문
[안드로이드] Jetpack Navigation Fragment 관련 에러해결 java.lang.IllegalArgumentException: No view found for id 0x7f090102 (com.mtjin.bungsegwon:id/main_navigation_view) for fragment MainEnrollFragment{815f3ee} (abd6ddc7-177d-4b7a-99a0-3d2d4..
막무가내막내 2022. 1. 11. 22:14
[에러 사항]
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mtjin.bungsegwon, PID: 1717
java.lang.IllegalArgumentException: No view found for id 0x7f090102 (com.mtjin.bungsegwon:id/main_navigation_view) for fragment MainEnrollFragment{815f3ee} (abd6ddc7-177d-4b7a-99a0-3d2d4c1a4610 id=0x7f090102 tag=2131296509)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:3065)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2988)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2180)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7811)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)
I/Process: Sending signal. PID: 1717 SIG: 9
Jetpack Navigation을 사용중인데 홈화면에서 다른 프래그먼트로 이동 후 뒤로가기 버튼으로 다시 홈화면으로 돌아오면 위와 같은 에러로 앱이 팅기는 문제가 발생하였습니다.
[에러 원인]
No view found for id 0x7f090102 (com.mtjin.bungsegwon:id/main_navigation_view) for fragment MainEnrollFragment{
에러에 써있는대로 MainEnrollFragment 프래그먼트에서 main_navigation_view 라는 id를 못찾는 문제인 것 같았습니다.
그리고 구글링을 해봤는데 제 해결방법과 다른거만 나왔지만 다 id를 수정해주거나 Jeptack Navigation을 안쓰고 일반적인 트랜잭션으로 직접 프래그먼트을 구현하시는분은 replace로 바꾸는식으로 해결했음을 볼 수 있었습니다.
getChildFragmentManager() 로 수정해서 해결하신분도 있었고요. 자세한건 아래 링크 남겨놨습니다.
https://stackoverflow.com/questions/7508044/android-fragment-no-view-found-for-id
https://jionchu.tistory.com/133
https://pythonq.com/so/android/214638
[에러 해결]
먼저 에러에 명시된 id인 main_navigation_view에 가보았습니다.
fragment에 린트가 되어있고 FragmentContainerView로 변경해보라고 되어있어서 변경했더니 해결되었습니다.
FragmentContainerView는 Fragment를 위해 특별히 설계된 레이아웃이며 FrameLayout을 확장하여 프래그먼트 트랜잭션을 안정적으로 처리 할 수 있고, 프래그먼트 동작을 조정할 수있는 추가 기능도 있습니다.
https://developer.android.com/reference/androidx/fragment/app/FragmentContainerView
댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!!