0
私はrecyclerView内の指定されたアイテムの位置からビューを取得したいが、ホルダーは常にnullになり、その理由がわからない。Android - holderがrecyclerViewからnullを戻すView adapterアイテムの位置
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);を設定していますが、ホルダーをnullのままにしています。私は問題の2番目の理由を読んだが、それでもそれは得られない。 –
あなたのアダプタは、何らかの種類のデータモデル(通常はリスト)によってサポートされています。 RecyclerViewは、いつでもそのデータの一部を表示します。データモデルには数千のアイテムが含まれ、RecyclerViewには10個しか表示されません。画面にない項目のIDは、 'findViewHolderForItemId'からnullを返します。 –