Android Studio导航编辑器在碎片上显示“模糊类型”

3
我正在尝试使用编辑器创建导航图,但不幸的是,它在所有可用的片段上显示“模糊类型”。我尝试创建一个新片段,但问题仍然存在。

NAC editor

这个问题导致编辑器无法显示XML文件中可用的目标位置。
我已清除AS缓存并重新启动,但这没有解决任何问题。我从头开始启动了一个新项目,在那里一切似乎都正常工作,所以我的项目配置中肯定有某些影响导航编辑器的东西。
有人遇到过类似的情况吗?有任何线索可以解决这个问题吗?

构建和运行时一切正常吗?您是否使用最新的3.5版本?当涉及到编辑布局文件时,Android Studio一直存在着臭名昭著的错误,因此更新AS到最新版本可能有助于解决您的一些问题。 - Rafsanjani
是的,运行似乎很顺利。我正在使用AS 3.5和NAC 2.1.0依赖项。 - narko
1
我有同样的问题。我通过将版本“lifecycle-extensions”更改为“2.1.0”而不是“2.2.0-alpha4”来解决它。希望这可以帮助到你。 - abhie
太好了,成功了!它甚至显示了导航图,这之前对我来说是不可用的...非常感谢! - narko
你使用 lifecycle-extensions 库吗?如果是的话,你应该知道你将无法使用最新版本中存在的功能。 - abhie
问题在一段时间后又出现了,但是更新到 androidx.navigation:navigation-*:2.2.0-rc01 后,导航图在 AS 的可视化编辑器中(使用 AS 3.6 beta 1)再次显示。 - narko
3个回答

2

对我来说,这是由于两种不同类型的片段导入之间的冲突。我在build.gradle中遇到了这个问题。

implementation "androidx.fragment:fragment:$androidx_fragment_version"
implementation "androidx.navigation:navigation-fragment-ktx:$androidx_navigation_version"
implementation "androidx.navigation:navigation-ui-ktx:$androidx_navigation_version"

由于导航片段是通过navigation-fragment-ktx导入的,因此我删除了fragment

implementation "androidx.navigation:navigation-fragment-ktx:$androidx_navigation_version"
implementation "androidx.navigation:navigation-ui-ktx:$androidx_navigation_version"

希望这对某些人也有所帮助。我在其他地方找不到答案。


1
如果您有多个模块,请确保导入的 Fragment 版本是一致的

test

这里提到的依赖关系会导致导航模糊类型

解决方案
在每个模块的build.gradle文件中进行如下修改。

implementation "androidx.navigation:navigation-fragment-ktx:2.2.2"
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'

这将覆盖默认的片段版本1.1.0 --> 1.2.4


兄弟,你救了我的一天。 - TadeoArmenta

0

如果您正在使用模块化架构,并且您扩展的片段继承自其中一个模块,则您应该在这些后续模块中也使用导航片段依赖项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接