在this question之前,我在每个HideBottomViewOnScrollBehaviour
中实现了BottomNavVew
到onDestinationChangedListener
和fragment
来控制{{1} }
错误::当我向下滚动并BottomNavView
折叠/隐藏在BottomNavView
中并尝试导航到FragmentA
时,{{1} }保持隐藏状态,但是如果我向上滚动以使FragmentB
重新出现并尝试切换到同一片段,则BottomNavView
变为可见,
有人可以帮忙做个解释吗...?
答案 0 :(得分:1)
因为当您从A导航到B时,Fragment A中的侦听器将被Fragment A破坏。而Fragment B将不会接收,并且目的地更改,因为还没有更改。当您再次在片段B中对其进行初始化时,它不知道您来自A。
只需将带有可见性逻辑的onDestinationChangedListener放在Activity中。