如何从AccessibilityNodeInfo中获取所选文本

时间:2017-02-28 08:19:06

标签: android accessibilityservice

我有一个为事件类型" typeViewTextSelectionChanged"运行的辅助功能服务。每当用户选择任何文本时,我都能够捕获此事件触发器,但如何从 AccessibilityNodeInfo AccessibilityEvent 对象中获取所选文本内容

1 个答案:

答案 0 :(得分:1)

以下内容,

onAccessibilityEvent(AccessibilityEvent event){}

然后,

//Get the source
AccessibilityNodeInfo source = event.getSource();

//Grab the parent of the view that fired the event.
AccessibilityNodeInfo rowNode = getListItemNodeInfo(source);

//Using this parent, get references to child node, the selected text
AccessibilityNodeInfo textNode = rowNode.getChild(0);

//Get the text values
String text = textNode.getText();

或者在您的情况下,以下应该可以正常工作。因为它是一个“typeViewTextSelectionChanged”事件,它显然来自EditText。

String text=event.getText();

有关详细信息,请查看herehere