在AccessibilityNodeInfo中设置文本

use*_*877 11 android accessibility

我正在开发Android辅助功能服务.我有一个表示EditText 的AccessibilityNodeInfo.有可能编辑包含的文本吗?

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

有任何想法吗?谢谢

Ant*_*por 15

您可以使用 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);
}
Run Code Online (Sandbox Code Playgroud)

  • 太感谢了。拯救了我的一天 (2认同)