4

我正在我的自定义拉动以刷新列表视图中实现可访问性。我的下拉刷新列表视图有一个标题视图,用于在下拉时显示更新状态。如果我的列表仅包含 5 个项目,Talkback 会将其读取为“显示第 1 项,共 6 项”,而不是“显示第 1 项,共 5 项”。我认为总计数为列表项 + 标题视图(即 5 个项目 + 1 个标题视图)。

我想从中删除标题视图计数。

我已经尝试过headerView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);,但它对我不起作用。

4

1 回答 1

1

尝试这个:

mListView.setAccessibilityDelegate(new View.AccessibilityDelegate(){
        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            AccessibilityNodeInfo.CollectionInfo old = info.getCollectionInfo();
            info.setCollectionInfo(AccessibilityNodeInfo.CollectionInfo.obtain(
                    old.getRowCount() - mListView.getHeaderViewsCount() - mListView.getFooterViewsCount(),
                    old.getColumnCount(),
                    old.isHierarchical(),
                    old.getSelectionMode()));
        }
    });
于 2018-03-16T15:18:49.960 回答