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

Android Studio中生成的FragmentDirections文件出现R未解析引用错误

问题:导航组件生成的Directions文件出现「Unresolved reference: R」错误

在Android项目中使用Fragment时,只要在导航XML里添加第二个Fragment并建立它和第一个Fragment的连接,就会触发编译错误——自动生成的RubrikFragmentDirections.kt文件出现「Unresolved reference: R」的未解析引用问题。删掉导航XML里的连接后,应用就能正常启动。

错误信息

e: path\ui\RubrikFragmentDirections.kt: (3, 8): Unresolved reference: R

自动生成的错误代码

import R
import androidx.navigation.ActionOnlyNavDirections
import androidx.navigation.NavDirections

public class RubrikFragmentDirections private constructor() {
  public companion object {
    public fun actionRubrikFragmentToOverviewFragment(): NavDirections =
        ActionOnlyNavDirections(R.id.action_rubrikFragment_to_overviewFragment)
  }
}

解决方案

  • 检查导航XML的命名空间:确保<navigation>根元素的xmlns:android="http://schemas.android.com/apk/res/android"和xmlns:app="http://schemas.android.com/apk/res-auto"属性正确配置,且android:id使用标准格式(如@+id/nav_main)
  • 修正导入语句:临时将生成文件中的import R替换为你应用的包名导入(比如import com.your.app.package.R),但注意构建时可能被覆盖,需配合其他方案从根源解决
  • 清理重建项目:执行Build > Clean Project后再执行Build > Rebuild Project,强制重新生成导航组件代码
  • 统一导航组件版本:确保build.gradle中navigation-fragment-ktx、navigation-ui-ktx等相关依赖的版本完全一致,优先使用最新稳定版
  • 验证ID定义:检查导航XML中Fragment的android:id、Action的android:id是否无拼写错误、无重复定义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:12:12