protected virtual View InflateViewForHolder(ViewGroup parent, int viewType, IMvxAndroidBindingContext bindingContext) { int layoutId; if (FlatGroupTemplateSelector == null) { layoutId = viewType == _headerLayout ? _headerLayout : ( viewType == _footerLayout ? _footerLayout : ItemTemplateSelector.GetItemLayoutId(viewType) ); } else { layoutId = FlatGroupTemplateSelector.GetItemLayoutId(viewType); } return(bindingContext.BindingInflate(layoutId, parent, false)); }
public override int GetItemViewType(int position) { var itemAtPosition = GetItem(position); if (FlatGroupTemplateSelector == null) { return(IsSectionHeaderPosition(position) ? _headerLayout : ( IsSectionFooterPosition(position) ? _footerLayout : ItemTemplateSelector.GetItemViewType(itemAtPosition) )); } else { int viewType = 0; if (IsSectionHeaderPosition(position)) { viewType = FlatGroupTemplateSelector.GetHeaderViewType(itemAtPosition); _headersViewTypes.Add(viewType); } else if (IsSectionFooterPosition(position)) { viewType = FlatGroupTemplateSelector.GetFooterViewType(itemAtPosition); _footerViewTypes.Add(viewType); } else { viewType = FlatGroupTemplateSelector.GetItemViewType(itemAtPosition); } return(viewType); } }