コード例 #1
0
        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));
        }
コード例 #2
0
        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);
            }
        }