辅助功能读取,将列表视图中的项目显示为列表项+标题视图 [英] Accessibility reading showing items in a listview as list item + header view
问题描述
我正在我的自定义拉取中实现可访问性以刷新列表视图.我的刷新列表"视图有一个标题视图,可在下拉时显示更新状态.如果我的列表仅包含5个项目,则Talkback会将其读取为显示6个项目中的第1个",而不是显示5个项目中的第1个".我认为将总数视为列表项+标题视图(即5项+ 1个标题视图).
I am implementing accessibility in my custom pull to refresh list view. My pull to refresh list view has a header view to show the updating status while pull down. If my list contains only 5 items, Talkback reads it as "showing item 1 of 6" instead of "showing item 1 of 5". I think it took total count as list items + header views (ie, 5 items + 1 header view).
我要从中删除标题视图计数.
I want to remove the header view count from this.
我已经尝试过 headerView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
,但这对我不起作用.
I have tried headerView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
but it doesn't work for me.
推荐答案
尝试一下:
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()));
}
});
这篇关于辅助功能读取,将列表视图中的项目显示为列表项+标题视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!