Android辅助功能问题

时间:2016-07-27 16:00:51

标签: android focus accessibility talkback

我在使应用程序辅助功能兼容的过程中遇到了几个问题。

  1. 我有一个微调器,其中包含一些项目,在我选择其中一个项目后,微调器关闭,焦点移动到页面操作栏的顶部,但我希望焦点保留在最后使用的元素上即,旋转器。尝试:

    spinnerId.requestfocus();或spinnerId.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS,null);在代码中但没有任何效果。

  2. 2.即使onResume(),我如何将焦点设置为最后访问的元素?被调用来刷新数据?

    3.当我向后滚动元素时,页面反向顺序不起作用。

    4.我有一个动态填充元素的列表视图,可访问性不会一直滚动页面而是转到右边的片段(我的平板电脑中有左右片段)跳过屏幕下方的元素。

1 个答案:

答案 0 :(得分:0)

由于您的微调器已经是焦点,您必须清除此焦点,将此事件发送到辅助功能并再次请求它:

yourView.clearFocus();
yourView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
yourView.requestFocus();
yourView.setFocusableInTouchMode(true);

他花了一些时间来找到这个技巧,但我们在应用程序的几个不同的地方使用它,它运作良好。