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

时间:2011-08-31 22:03:55

标签: android accessibility android-listview textview

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

现在,我正在向它发送一个TalkBack事件,但在它完成后,它会再次读出TextView。我希望它只能完成我的TalkBack活动,而不是别的。

任何人都知道如何做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:2)

当然,只需覆盖View.dispatchPopulateAccessibilityEvent

来自doc(强调我的):

  

典型的实现将在此视图上调用onPopulateAccessibilityEvent(AccessibilityEvent),然后在每个子节点上调用dispatchPopulateAccessibilityEvent(AccessibilityEvent)。 如果需要自定义事件文本内容,则覆盖此方法。


在该方法中,您可以按以下方式添加所需的任何文本:

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