Android Studio添加数字输入控件时报No speakable text present错误如何解决
错误产生原因
该提示是Android Studio内置的无障碍合规校验机制触发的,不属于代码编译错误。为了保障视障用户可通过屏幕阅读器(如TalkBack)正常操作应用,Android要求所有可交互UI控件必须配置可供朗读的说明文本,你新增的数字输入控件未配置contentDescription、hint等可被识别的朗读属性,因此触发了该提示。
解决方案
可根据实际业务需求选择对应处理方式:
- 给数字输入控件添加
android:contentDescription属性,属性值填写该控件的用途说明,示例配置如下:
<NumberPicker android:id="@+id/number_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="选择年龄数值" />
- 如果输入框需要展示输入引导提示,可直接添加
android:hint属性,屏幕阅读器同样会识别该属性的内容:
<EditText android:inputType="number" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入购买数量" />
- 若开发阶段暂时不需要适配无障碍功能,可单独对该控件关闭检测,给控件添加
tools:ignore="ContentDescription"属性即可,该方案仅适合调试阶段使用,正式上线建议补充完整无障碍属性。 - 若需要全局关闭该检测,可在模块级
build.gradle的android配置块中添加如下配置:
android { lintOptions { disable 'ContentDescription' } }
内容的提问来源于stack exchange,提问作者Иван Рогожкин
相关产品推荐
相关产品推荐

