所以,我试图从一个片段导航到另一个片段,我已经使用了这一行
val action = MapsFragmentDirections.nextAction(marker?.title!!)
findNavController().navigate(action)
此导航转到另一个片段,但是当到达该片段时,我看到了片段下面的活动,并且上面的recyclerview对我的片段是透明的。
经过研究,发现我需要用FragmentTransaction进行替换,但是我认为这是在Navigation Component的背景下完成的。
问题是,当给另一个片段充气时,我可以在片段视图下方看到我的活动。
一个临时的解决方法是将RecyclerView的背景设置为空白,但是我不想这样修复,我希望它像普通片段一样膨胀而在其下看不到任何东西
我的问题正是这个问题:Fragment is transparent and shows Activity below
但是我需要使用Navigation Component来解决它,而且我看不到任何能帮助我做到这一点的方法。
还是我需要在xml的fragment>标记内设置所有视图?
谢谢
答案 0 :(得分:1)
使用NavController
时,您根本不应该做任何单独的FragmentTransactions
-只要您已在XML中添加了NavHostFragment
并使用了{{1 }}属性来指定您的图形,app:navGraph
完成了在片段之间切换并确保它们不重叠的所有工作。