Tak*_*ako 4 android accessibility textview talkback android-accessibility
我目前正在使我的应用程序可访问,我的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);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过announceForAccessibility("mesage")提供的功能明确读出错误消息View
editText.setError("message")
editText.announceForAccessibility("message");
Run Code Online (Sandbox Code Playgroud)
请注意,此功能已在API级别16中添加.
更新1:将错误消息设置为null文本更改时,EditText以防止一次又一次地读取错误消息.
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) {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1610 次 |
| 最近记录: |