小编Sub*_*aik的帖子

Recyclerview 中的 Android 辅助功能语音助手问题

我已在 Note 5 中打开语音助手,并尝试向前移动(从上到下),但当它到达屏幕末尾时,它就会退出 Recyclerview。由于列表中有更多项目,因此它应该自动向上滚动。

我在Samsung Note 5 和 Samsung Note 9中观察到此问题,但在Samsung 9 和 Samsung 9+中运行良好。

我在 RecyclerView 的每一项中都保持了 focusable true 。我已经使用了一种解决方案,但我认为这不是最好的解决方案,任何人都可以建议我什么是最好的方法。

我的解决方案:我通过检测时刻来手动滚动列表。

回收视图

<RecyclerView>.setAccessibilityDelegateCompat(RVAccessibilityDelegate(<RecyclerView>, <No of item you want to scroll>))

RVAccessibilityDelegate

   RecyclerViewAccessibilityDelegate(recyclerView){

   private var previousItemPosition = 0

   override fun onRequestSendAccessibilityEvent(host: ViewGroup, child: View, event: AccessibilityEvent): Boolean {

       if (event.eventType == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) {


           if (host is RecyclerView) {

               var childPosition = host.getChildAdapterPosition(child)

               if (childPosition == 0 && previousItemPosition == 0) {

                   host.smoothScrollToPosition(1)

               } else if (previousItemPosition …
Run Code Online (Sandbox Code Playgroud)

accessibility samsung-mobile talkback android-recyclerview

5
推荐指数
1
解决办法
1151
查看次数