public void SetAdapter(FlexibleViewAdapter adapter) { if (adapter == null) { return; } mAdapter = adapter; mAdapter.ItemEvent += OnItemEvent; }
public FlexibleViewViewHolder GetViewForPosition(int position) { FlexibleViewAdapter b = mFlexibleView != null?mFlexibleView.GetAdapter() : null; if (b == null) { return(null); } if (position < 0 || position >= b.GetItemCount()) { return(null); } int type = b.GetItemViewType(position); FlexibleViewViewHolder itemView = null; for (int i = 0; i < mAttachedScrap.Count; i++) { if (mAttachedScrap[i].LayoutPosition == position && mAttachedScrap[i].ItemViewType == type) { itemView = mAttachedScrap[i]; break; } } if (itemView == null) { itemView = mRecyclerPool.GetRecycledView(type); if (itemView == null) { itemView = b.OnCreateViewHolder(type); } if (!itemView.IsBound) { b.OnBindViewHolder(itemView, position); itemView.IsBound = true; } itemView.AdapterPosition = position; itemView.ItemViewType = type; } return(itemView); }