Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓对讲;如何禁用通知单元格位置和单元格计数?_Android_Accessibility_Talkback - Fatal编程技术网

Android 安卓对讲;如何禁用通知单元格位置和单元格计数?

Android 安卓对讲;如何禁用通知单元格位置和单元格计数?,android,accessibility,talkback,Android,Accessibility,Talkback,当我有一个包含12个项目的回收器视图时,例如,当可访问性焦点转到单元3时,talkback会宣布“双击激活。12个项目中的项目3” 我想保留该操作,但阻止它宣布项目位置和项目计数。我该怎么做?我尝试将一个委托分配给recycler视图,但不确定在委托中覆盖什么 我该怎么做呢?这是一个不应该被禁用的功能:它让使用对讲的人知道他们在一个列表中,列表有多长,当前关注的是哪个元素(上面/下面有更多的元素)。所以我找到了答案。AccessibilityNodeInfo有一个名为SetCollectionI

当我有一个包含12个项目的回收器视图时,例如,当可访问性焦点转到单元3时,talkback会宣布“双击激活。12个项目中的项目3”

我想保留该操作,但阻止它宣布项目位置和项目计数。我该怎么做?我尝试将一个委托分配给recycler视图,但不确定在委托中覆盖什么


我该怎么做呢?

这是一个不应该被禁用的功能:它让使用对讲的人知道他们在一个列表中,列表有多长,当前关注的是哪个元素(上面/下面有更多的元素)。

所以我找到了答案。AccessibilityNodeInfo有一个名为
SetCollectionInfo()
的方法。CollectionInfo具有rowCont和columnCount等属性。 我只是将信息设置为空

注意,以下是xamarin:

    private class TabLayoutTabAccessibilityDelegate: View.AccessibilityDelegate
    {
        public override void OnInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info)
        {
            base.OnInitializeAccessibilityNodeInfo(host, info);
            info.SetCollectionInfo(null);
        }
    }

它可以被禁用,因为有时您希望实现自己的消息,这些消息告诉用户它们在列表中,并且这些项在某种程度上是唯一的,比如唯一ID表不需要宣布单元格位置。请看这里:。不过你的观点是正确的。我只是说它应该是,并且可以被覆盖,请看我的回答:)确保更改后列表仍然可以通过对讲滚动:将collection info设置为null将删除这些公告,但也会破坏其他行为,例如当用户到达时自动滚动到屏幕上不显示的项目。你说得对。它肯定会抑制其他与收集相关的行为。我只是作为一个实验来探索这一点。必须有一种破坏性较小的方法。可能是CollectionInfo objet的某些属性?我一直无法在不破坏其他功能的情况下找到它:/