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

Android使用Navigation组件时Data Binding无法识别Directions/Args类

修复步骤

    1. 调整插件应用顺序
      打开模块级build.gradle文件,确保androidx.navigation.safeargs.kotlin插件的声明顺序在com.android.application/com.android.library、kotlin-android插件之后,示例配置如下:
    plugins {
        id 'com.android.application'
        id 'kotlin-android'
        // safe args插件放在末尾
        id 'androidx.navigation.safeargs.kotlin'
    }
    
    1. 升级Navigation组件版本
      你当前使用的2.3.5版本Navigation存在已知bug,生成的Args类默认使用Kotlin的internal可见性修饰符,Data Binding无法访问internal类型的类。直接将项目中所有Navigation相关依赖、safe args插件版本升级到2.4.0及以上稳定版即可,官方在该版本修复了Data Binding访问生成类的兼容性问题。
    1. 若暂不升级版本,可手动配置生成公共类
      在模块级build.gradle中添加如下配置,强制safe args生成public修饰的类:
    navigation {
        safeArgs {
            generatePublic = true
        }
    }
    
    1. 彻底清理Android Studio缓存
      执行菜单栏操作 File > Invalidate Caches...,勾选Clear file system cache and local history后重启Android Studio,等待索引完成即可。

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

相关产品推荐
方舟 Agent Plan

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

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