我目前正在使我的应用程序可访问,我的EditTexts有问题:
在每个EditText中,用户的输入在某个时刻被验证(例如,在按下按钮之后),如果输入无效,我使用editText.setError(“message”)显示错误.问题是如果TalkBack打开,它将不会自动聚焦并读取错误.此外,由于我无法得到错误的视图,我不能要求TalkBack通过sendAccessibilityEvent集中它.
如果仍然使用editText.setError(),我将不胜感激如何解决这个问题.
编辑1为@Abhishek V解决方案添加了代码:
public class BaseEditText extends EditText { ... ... @OverrIDe public voID setError(CharSequence error) { super.setError(error); announceForAccessibility(error); }}
解决方法:
您可以通过VIEw提供的announceForAccessibility(“mesage”)函数显式读出错误消息
editText.setError("message")editText.announceForAccessibility("message");
请注意,此功能已在API级别16中添加.
更新1:在EditText中更改文本时将错误消息设置为null,以防止一次又一次地读取错误消息.
editText.addTextChangedListener(new TextWatcher() { @OverrIDe public voID beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @OverrIDe public voID onTextChanged(CharSequence charSequence, int i, int i1, int i2) { editText.setError(null); } @OverrIDe public voID afterTextChanged(Editable editable) { } });
总结 以上是内存溢出为你收集整理的android – 如何让TalkBack自动读取TextView错误信息?全部内容,希望文章能够帮你解决android – 如何让TalkBack自动读取TextView错误信息?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)