辅助功能读取将列表视图中的项目显示为列表项目+标题视图

时间:2016-01-29 07:30:27

标签: android listview accessibility android-accessibility

我正在自定义拉动刷新列表视图中实现辅助功能。我的刷新列表视图有一个标题视图,用于显示下拉时的更新状态。如果我的列表只包含5个项目,则Talkback将其读作"显示6"的第1项而不是"显示5"的第1项。我认为它将总计数作为列表项目+标题视图(即5个项目+ 1个标题视图)。

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

我尝试了headerView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);,但它对我没用。

1 个答案:

答案 0 :(得分: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()));
        }
    });