在 AccessibilityNodeInfo 中设置文本 [英] Set text in AccessibilityNodeInfo
问题描述
我正在开发 Android 无障碍服务.我有一个 AccessibilityNodeInfo 代表一个 EditText.是否可以编辑包含的文本?
I'm developing an Android Accessibility Service. I got an AccessibilityNodeInfo that represents an EditText. Is possibile to edit the contained text?
我尝试使用 mynode.setText("aaa")
但我得到了 IllegalStateException
,如官方文档 http://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html
I tried with mynode.setText("aaa")
but i get IllegalStateException
as described in official documentation http://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html
有什么想法吗?谢谢
推荐答案
您可以使用 ACTION_SET_TEXT 适用于 >= android 21.这是它的示例:
You can use ACTION_SET_TEXT for >= android 21. Here is the example of it:
AccessibilityNodeInfo source = event.getSource();
if (source != null & event.getClassName().equals("android.widget.EditText")) {
Bundle arguments = new Bundle();
arguments.putCharSequence(AccessibilityNodeInfo
.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, "android");
source.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments);
}
这篇关于在 AccessibilityNodeInfo 中设置文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!