如何将可访问性的重点转移到回收者视图的第一个要素上?

时间:2019-05-29 11:13:30

标签: android android-recyclerview accessibility talkback

我是Android辅助功能的新手-对讲/ ADA。 我知道诸如内容描述之类的基本内容,这些内容对于可访问性以及它们如何制作节点树很重要,等等。

在我的问题中,我想将可访问性的重点转移到某些操作上的回收者视图的第一个元素上。

通常,someView.requestFocus()或someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)可以工作。 但似乎在回收者视图中无法正常工作。

我试图通过解决它,

  1. android:accessibilityLiveRegion =“ polite”,但它仅宣布该列表存在。但这并没有涉及可访问性。

  2. 通过聚焦适配器的第一个元素-这样做是一个坏主意!

除此之外,android:accessibilityTraversalAfter / android:accessibilityTraversalBefore也不适用于android中的列表视图。

someView.requestFocus()someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)

2 个答案:

答案 0 :(得分:2)

RecyclerView的getChildAt()方法对我有用。

recyclerView.getChildAt(0).requestFocus()
recyclerView.getChildAt(0).sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)

答案 1 :(得分:0)

使用特定的ViewId请求焦点,并获取该节点的第一个元素。