반응형
bottomnavigationview의 fragment 를 강제로 바꿔주는 코드를 구현 중이었음.
val bottomNav = activity?.findViewById<BottomNavigationView>(R.id.bottom_nav)
bottomNav?.selectedItemId = R.id.dreamlist
근데 터짐. 어떻게 해결할 것인가.
먼저, navigation 이동 시에 fragment 재생성을 방지하도록 아래 코드(KeepStateNavigator) 를 사용하고 있었다.
근데 여기서
transaction.commitNow()
이 녀석이 문제였다.
transaction.commit()
으로 바꿔주면 해결된다.
commitNow는 commitNow 하려는 transaction이 백스택에 있으면 안된다.
commit은 비동기적으로 transaction을 수행한다.
[Reference]
반응형
'프로그래밍 > App 개발' 카테고리의 다른 글
[Android] 반복알림(notification) 구현 (4) | 2022.06.13 |
---|---|
[Android] SharedPreferences generic (kotlin) (2) | 2022.03.03 |
비동기 작업 관리 회고, Type 과 State (0) | 2022.02.18 |
[Android] How to dynamically change height of RecyclerView inside NestedScrollview when items are added or deleted (0) | 2022.02.16 |
[Android] Custom DialogFragment 좌우 너비 꽉 차게 (0) | 2022.01.27 |