11

我正在开发一个 Android 无障碍服务。我得到了一个表示 EditText的AccessibilityNodeInfo 。是否可以编辑包含的文本?

我试过了,mynode.setText("aaa")但我得到IllegalStateException了官方文档http://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html中的描述

有任何想法吗?谢谢

4

1 回答 1

22

您可以将 ACTION_SET_TEXT用于 >= android 21。这是它的示例:

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);
}
于 2015-01-10T14:47:37.767 回答