在安卓中添加项目之前,是否有可能得到估计的RecyclerView.Adapter计数子值?
我想要的是,在向适配器添加项之前,我想要估计适配器的子节点数,以便估计只能插入的可见项。
比如平板电脑
获得估计有多少子项或项(这对我的情况是一个优势),我可以添加到适配器,以便它显然适合我的数据在第一次填充到我的适配器。
发布于 2016-03-16 09:56:48
这也许能行。它应该返回所有可见的ViewHolder子视图。您也可以尝试将firstItem替换为0,lastItem替换为recyclerView.getAdapter().getItemCount()。
private static int getRecyclerViewChildCount(RecyclerView recyclerView) {
//This below section is a bit clumsy, but the findFirstVisibleItem() etc. methods
//Only apply to LinearLayoutManagers and their subclasses.
try {
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
} catch (ClassCastException e) {
throw new IllegalArgumentException("LayoutManager must be of type " + LinearLayoutManager.class.getSimpleName());
}
final int firstItem = layoutManager.findFirstVisibleItemPositiob();
final int lastItem = layoutManager.recyclverView.getLayoutManager().findLastVisibleItemPosition();
int viewCount = 0;
for (int i = firstItem; i < lastItem; i++) {
View view = recyclerView.findViewHolderForAdapterPosition(i).itemView;
viewCount += view.getChildCount();
}
return viewCount;
}https://stackoverflow.com/questions/36031595
复制相似问题