하루에 0.01%라도 성장하자
반응형

android fragment 2

Fragment Commit, CommitAllowingStateLoss 그리고 재현방법

이번에는 Fragment 중 Commit에 관한 내용을 작성한다. 서비스 중인 앱에서 아래와 같은 크래쉬 이력이 남았다. Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView() 원인을 찾아보니 Activity 에서 onSaveInstanceState 가 호출된 후 Fragment 에서 commit 이 동작되서 발생한 문제였다. onSaveInstanceState의 호출 시점은 여기를 참고해 보면 좋겠다! 해결 방법으로는 commit 대신에 commitAllowingStateLoss 를 실행해주면 해결된다는 레퍼런스를 쉽게 찾을 수 있었다. ..

Develop/Android 2022.11.23

Fragment 변경시 발생할 수 있는 에러. Error msg : java.lang.IllegalStateException: commit already called

이번에 업데이트 중인 앱의 UI를 변경하다가 BottomNavigationView를 사용할 일이 생겼다. BottomNavigationView를 사용하면 하단에 Tab이 있고, MainView에 Fragment가 들어가는데 Tab의 메뉴를 누르면 화면이 변경되어야 한다. 위에 이해를 돕기위해 내가 개발한 앱의 레이아웃 구조를 구현했다. FrameLayout 위에 BottomNavigationView , FrameLayout을 그리고 FrameLayout 위에 Fragment를 배치하도록 하였다. ( 기본적인 NavigationView 그리기다.. ) Menu1, Menu2, Menu3을 누르면 각각의 Fragment를 그려주는 기능이다. 잠깐 코드를 보자. bottomNavigationView.setOn..

Develop/Android 2019.11.21
반응형