android-fragments 如何在Hilt更改片段名称时使用导航组件

ohfgkhjo  于 2022-11-14  发布在  Android
关注(0)|答案(1)|浏览(140)

我正在创建一个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和导航组件?

yzuktlbb

yzuktlbb1#

“Hilt_HomeFragment”是一个为Hilt生成的类,你不应该关心它。只要使Build-〉Clean Project。然后转到你的图,清 debugging 误的name,并写一个正确的完整的包路径。例如:

android:name="com.example.home.HomeFragment"

当您开始在name字段中键入内容时,Android Studio会显示提示,其中包含您可以使用的匹配片段-只需选择合适的片段,name就会被填充。

相关问题