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

Android开发:Inflate视图时DataBinding报错,求解决方法

修复DataBinding运行错误

问题根源

你的代码缺失了设置Activity布局内容的关键步骤,同时需要确保DataBinding的基础配置和布局文件格式符合要求。

修复步骤

1. 确认DataBinding已启用

在app模块的build.gradle(Module级别)中,添加DataBinding启用配置:

android {
    // 其他配置...
    buildFeatures {
        dataBinding true
    }
}

注:如果使用旧版Gradle插件,可替换为:

android {
    // 其他配置...
    dataBinding {
        enabled = true
    }
}

2. 修正MainActivity代码

你已创建Binding实例,但未将布局根视图绑定到Activity,且存在一行无效代码(binding.root)。修改后的代码如下:

package com.shayan.test

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.LayoutInflater
import com.shayan.test.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    lateinit var binding: ActivityMainBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding = ActivityMainBinding.inflate(LayoutInflater.from(this))
        setContentView(binding.root) // 新增该行,将根视图设置为Activity布局
    }
}

3. 检查布局文件格式

确保activity_main.xml的根标签为<layout>,而非直接使用LinearLayout、ConstraintLayout等容器,示例格式:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        
        <!-- 你的布局内容 -->
        
    </LinearLayout>
</layout>

完成以上步骤后,重新构建并运行应用即可解决该错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:05:47