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

Android布局加载异常:Binary XML file line #28 Error inflating class

Android InflateException 排查与解决

嘿,我一眼就揪出问题所在啦!你遇到的android.view.InflateException完全是因为给TextView设置了EditText专属的AppCompat样式导致的。

问题核心

看你第28行的代码:

<TextView android:id="@+id/QuantityProductInDoc" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:layout_weight="1" 
    android:textColor="#000" 
    android:textSize="17dp" 
    style="@style/Widget.AppCompat.EditText"/> 

这里的style="@style/Widget.AppCompat.EditText"是专门为EditText控件设计的样式,里面包含了很多EditText特有的属性(比如光标样式、输入框背景、输入相关配置),而TextView并不支持这些属性,当LayoutInflater尝试给TextView加载这些属性时,就会抛出Inflate错误。

解决方案

你有两个可选的修复方式:

方式1:替换为TextView对应的AppCompat样式

把EditText的样式换成TextView专属的样式,或者直接移除样式属性(使用默认TextView样式):

<TextView android:id="@+id/QuantityProductInDoc" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:layout_weight="1" 
    android:textColor="#000" 
    android:textSize="17dp" 
    style="@style/Widget.AppCompat.TextView"/> 

如果不需要额外样式,直接删掉style属性即可。

方式2:如果需要EditText的外观,直接改用EditText并设置不可编辑

如果你是想让控件看起来像EditText,那不如直接用EditText,然后设置为不可编辑状态:

<EditText android:id="@+id/QuantityProductInDoc" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:layout_weight="1" 
    android:textColor="#000" 
    android:textSize="17dp" 
    style="@style/Widget.AppCompat.EditText"
    android:editable="false"
    android:focusable="false"/> 

这样既保留了EditText的外观,又不会让用户编辑内容。

额外说明

每个AppCompat控件的样式都是针对性设计的,TextView、EditText、Button等控件的样式不能混用,否则很容易因为属性不兼容导致Inflate异常。下次遇到类似问题,先检查控件的样式是否和控件类型匹配哦!

内容的提问来源于stack exchange,提问作者Александр Волошиновский

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:26:23