我有一个Android项目,有三个flavor_a、flavor_b和flavor_c。flavora和flavorb使用相同的导航图。对于flavor_c工作流是不同的,意味着只需要使用一个子集的片段。
是否可以对现有片段和源代码使用不同的导航图。
我用现有的片段尝试了一个新的导航图,但失败了,出现错误:
AAPT:错误:找不到资源id/ssplashFragment(又名com.sample.app:id/splashFraction(。
源文件夹结构
-- main
-- src
-- res
-- navigation
--navigation_graph.xml
-- flavour_c
--res
--navigation
--navigation_graph.xml
我也遇到了同样的问题,我通过复制我的主活动xml文件来解决这个问题,该文件包含NavHostFragment,并附带了一个navGraph。因此,在我的活动xml风格副本中,我将NavHostFraction指向我的nav_graph.xml副本,它似乎有效。
主要风味:
-- main
-- res
-- activity_main.xml
<fragment
android:name="androidx.navigation.fragment.NavHostFragment"
...
app:navGraph="@navigation/nav_graph" />
其他口味:
-- flavor1
-- res
-- activity_main.xml
<fragment
android:name="androidx.navigation.fragment.NavHostFragment"
...
app:navGraph="@navigation/nav_graph_flavor1" />