android - 在辅助功能模式下,我想覆盖 TextView 的 TalkBack

标签 android accessibility android-listview textview

我目前有一个 ListView,该列表的每个元素至少包含两个 TextView。我正在为我的应用程序添加辅助功能,所以每当我关注某个列表元素时,它都会读出每个 TextView 中的文本。

现在,我正在向它发送一个 TalkBack 事件,但在它完成之后,它会再次读出 TextView。我希望它只完成我的 TalkBack 事件,而不是其他任何事情。

有人知道怎么做吗?

提前致谢!

最佳答案

当然,只需覆盖 View.dispatchPopulateAccessibilityEvent .

来自文档(强调我的):

A typical implementation will call onPopulateAccessibilityEvent(AccessibilityEvent) on the this view and then call the dispatchPopulateAccessibilityEvent(AccessibilityEvent) on each child. Override this method if custom population of the event text content is required.


在该方法中,您可以按以下方式向事件添加任何文本:

public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
    event.getText().add("Hey look!");
    return true;
}

关于android - 在辅助功能模式下,我想覆盖 TextView 的 TalkBack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7264037/

相关文章:

android - APK 文件的 META-INF 文件夹中文件的用途是什么?

java - 如何正确创建 AsyncTask

android - 即使传递的对象不为空,getParcelable 也返回空

android - 手机间隙 : Android 6 status bar overlaps webview

javascript - 在 span 中将按钮视为链接

android - 在 ListView 中实现以下弹出菜单的想法

r - WCAG 2.1 与 Shiny 仪表板应用程序表单标签的兼容性

android - 双击不会在对讲模式下单击父 View

android - ListView 没有空间在较小的屏幕上显示内容

android - 为什么执行 listview.setAdapter(_adapter) 两次会使应用程序崩溃?