[英]How to use navigation component when Hilt changes the names of the fragments
我正在创建一个 Android 应用程序 (Java) 并首次使用导航组件和 Hilt。 在导航编辑器中,我正在创建目的地,并看到我创建的带有 @AndroidEntryPoint 注释的片段现在显示为“Hilt_”+片段名称。 现在我的应用程序无法构建,因为编译器正在寻找一个带有“Hilt_”+片段名称的构造函数,而不仅仅是片段名称。 例如:我的片段被命名为 HomeFragment,但在导航编辑器中它被称为 Hilt_HomeFragment。 编译时出现的错误:
Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.blah.blah.fragment.Hilt_HomeFragment: could not find Fragment constructor
应该如何处理名称差异,以便我可以一起使用 Hilt 和导航组件?
“Hilt_HomeFragment”是一个为 Hilt 目的而生成的类,你不应该关心它。 只需制作Build
-> Clean Project
。 然后转到您的图表,清除错误的name
并使用完整的包路径写入正确的名称。 例如:
android:name="com.example.home.HomeFragment"
当您开始在name
字段中输入时,Android Studio 将向您显示提示,其中包含您可以使用的匹配片段 - 只需选择正确的片段, name
就会被填充。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.