SCROLL_TO_POSITION in performAction() returning false AccessibilityService Android

Viewed 367

Hi I want to scroll to particular position 'y in layout using AccessibilityService.

I tried several ways but only AccessibilityNodeInfo.ACTION_SCROLL_FORWARD is working but AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_TO_POSITION is not working.

I am using it like this. What to change to make it work?

private AccessibilityNodeInfo findScroll(AccessibilityNodeInfo root) {
    if(root == null) return null;

    if(root.isScrollable())
        return root;

    for(int i=0; i<root.getChildCount(); i++) {
        if(root.getChild(i).isScrollable())
            return root.getChild(i);
    }
    return null;
}

AccessibilityNodeInfo scrollable = findScroll(getRootInActiveWindow());
            if (scrollable != null) {
                Bundle bundle = new Bundle();
                bundle.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_ROW_INT, 8);
                bundle.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_COLUMN_INT, 8);
                scrollable.performAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_TO_POSITION.getId(), bundle);
            }
0 Answers
Related