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

使用DataBindingUtil.setContentView时类型推断不足的问题求助

Data Binding 初始化报错「Not enough information to infer type variable T」解决方案

核心解决方法:直接使用生成的Binding类初始化

放弃DataBindingUtil,直接调用自动生成的ActivityMainBinding类的初始化方法,让编译器明确推断类型:

val binding = ActivityMainBinding.setContentView(this)

如果是在Fragment中初始化,使用inflate方法:

val binding = ActivityMainBinding.inflate(layoutInflater, container, false)

排查要点

  • 检查布局文件结构:布局根标签必须用<layout>包裹,否则Data Binding不会生成对应的Binding类:
    <layout xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- 你的布局内容(LinearLayout/ConstraintLayout等) -->
    </layout>
    
  • 清理重建项目:执行Build > Clean Project后再Build > Rebuild Project,缓存可能导致Binding类未正确生成。
  • 调整Gradle配置:确保app模块的build.gradle中配置正确,可关闭View Binding避免冲突:
    android {
        ...
        buildFeatures {
            dataBinding true
            viewBinding false // 不需要View Binding时关闭
        }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:20:28