如何解决Android recyclerview onInitializeAccessibilityNodeInfo索引探针
我有一个代码来设置具有collectionInfo的recycleview项目。
它总共有3列。但是我只想让2列设置信息。
以下是我的代码。
@Override
public void onViewCreated(View view,Bundle savedInstanceState) {
super.onViewCreated(view,savedInstanceState);
RecyclerView list = getListView();
ViewCompat.setAccessibilityDelegate(list,new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host,AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host,info);
AccessibilityNodeInfoCompat.CollectionInfoCompat collectionInfo = info.getCollectionInfo();
int getNotListCount = 0;
int index = list.indexOfChild(host);
if (mEmptyView != null){
getNotListCount = mEmptyView.isNotListItemForAccessibility() ? 1 : 0;
}
int count = list.getAdapter() == null ? 0 : list.getAdapter().getItemCount();
int oriRowCount = (collectionInfo != null ? collectionInfo.getRowCount() : count);
int rowCount = (collectionInfo != null ? collectionInfo.getRowCount() : count)
- getNotListCount;
int columnCount = collectionInfo != null ? collectionInfo.getColumnCount() : 1;
boolean isHierarchical = collectionInfo != null && collectionInfo.isHierarchical();
if (index == oriRowCount && getNotListCount == 1)
return;
info.setCollectionInfo(AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain(
rowCount,columnCount,isHierarchical));
}
});
我想使用索引信息来避免设置collectionInfo。但是索引始终为-1。
int索引= list.indexOfChild(主机);
但是我想获取列表中当前元素的索引。
希望得到你的答案。非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。