导航组件未替换当前片段活动

时间:2019-07-22 18:08:19

标签: android android-fragments kotlin

所以,我试图从一个片段导航到另一个片段,我已经使用了这一行

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>标记内设置所有视图?

谢谢

1 个答案:

答案 0 :(得分:1)

使用NavController时,您根本不应该做任何单独的FragmentTransactions-只要您已在XML中添加了NavHostFragment并使用了{{1 }}属性来指定您的图形,app:navGraph完成了在片段之间切换并确保它们不重叠的所有工作。