You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遵循谷歌Android官方开发教程时无法解析ActionFirstFragmentToSecondFragment

问题解决方案

这个报错是因为导航组件的Safe Args插件没有成功生成对应的路由类,按以下步骤逐一排查即可解决:

  • 检查项目级Gradle配置
    确认项目根目录build.gradle的dependencies块正确添加了Safe Args插件依赖,插件版本必须和你项目使用的Android Gradle Plugin版本匹配,示例配置如下:
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3"
    
    如果是新版Gradle使用插件中心管理,需要在settings.gradle的pluginManagement块中补充对应插件配置。
  • 检查模块级Gradle配置
    打开app模块的build.gradle文件,确认顶部已经应用了Java版的Safe Args插件:
    id 'androidx.navigation.safeargs'
    
    注意不要误加Kotlin版本的safeargs.kotlin插件,Java项目必须使用不带kotlin后缀的插件
  • 检查导航图配置
    打开res/navigation目录下的导航配置文件,确认FirstFragment节点下已经正确添加跳转到SecondFragment的action,且action、参数配置和教程要求一致:
    <fragment
        android:id="@+id/firstFragment"
        android:name="你的包名.FirstFragment">
        <action
            android:id="@+id/action_firstFragment_to_secondFragment"
            app:destination="@id/secondFragment" />
        <argument
            android:name="currentCount"
            app:argType="integer" />
    </fragment>
    <fragment
        android:id="@+id/secondFragment"
        android:name="你的包名.SecondFragment"/>
    
  • 触发全量构建
    仅同步Gradle不会触发Safe Args的代码生成,需要依次执行菜单栏的Build -> Clean Project,再执行Build -> Rebuild Project,等待构建完成后查看报错是否消失。
  • 清除IDE缓存
    如果重构后仍报错,依次点击File -> Invalidate Caches...,勾选清除文件系统缓存选项,重启Android Studio后再次重构项目即可。
  • 检查导入语句
    确认代码中导入的FirstFragmentDirections是你当前项目包下生成的类,而非其他第三方库的同名类。

内容的提问来源于stack exchange,提问作者yusav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 03:06:03