0
我想从我的recyclerView中的给定项目位置获取视图,但持有者始终为空,我无法弄清楚原因。Android - 持有者从recyclerView适配器项目位置返回null
Rect toRect = new Rect();
selectedPostTagsAdapter.addPostTag(postTag);
selectedPostTagsAdapter.notifyDataSetChanged();
for (int i = 0; i < selectedPostTagsAdapter.getItemCount(); i++) {
RecyclerView.ViewHolder holder = rvSelectedPostTags.findViewHolderForItemId(selectedPostTagsAdapter.getItemId(i));
if (holder != null) {
View viewX = holder.itemView;
viewX.getGlobalVisibleRect(toRect);
}
我已经设置selectedPostTagsAdapter.setHasStableIds(true);,但我一直持有人为空。我已经读过这个问题的第二个可能的原因,但我仍然不明白。 –
您的适配器支持某种数据模型,通常是一个列表。 RecyclerView将在任何时候只显示一些数据。您的数据模型可能包含数千个项目,而RecyclerView仅显示其中的10个项目。不在屏幕上的项目的任何id将从'findViewHolderForItemId'返回null –