我试图让 TalkBack 说出host
视图内的文本中的内容,以及之后的“很酷”。
为此,我在线性布局上设置了可访问性委托,但info
参数的 text 和 contentDescription 属性始终为空。即info.getText()
并且info.getContentDescription()
总是返回null。我似乎无法从嵌套的 TextView 中提取文本。
因此,该host
参数是一个线性布局,其中包含另一个嵌套的线性布局。这种嵌套的线性布局又包含更多的嵌套布局和文本视图作为它们的子项。(我的目标是 API 21+)
linearLayout.setAccessibilityDelegate(new View.AccessibilityDelegate()
{
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info)
{
super.onInitializeAccessibilityNodeInfo(host, info);
String newWordsToSay = info.getText() + " is cool"
//info.getText() CRASHES due to null pointer exception
info.setContentDescription(info.setText(newWordsToSay));
}
});
编辑:在检查host
参数时,所有预期的嵌套 TextView 都在那里,以及它们各自的文本字段。问题是,我似乎无法从中提取文本。
任何帮助,将不胜感激。