public MvxHorizontalGridView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own itemTemplateId if (adapter == null) return; var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); adapter.ItemTemplateId = itemTemplateId; Adapter = adapter; var typedArray = context.ObtainStyledAttributes(attrs, Resource.Styleable.MvxHorizontalGridView); try { FocusFirstChildOnLaidOut = typedArray.GetBoolean(Resource.Styleable.MvxHorizontalGridView_FocusFirstChildOnLaidOut, false); if (FocusFirstChildOnLaidOut) { SetOnChildLaidOutListener(new MvxFocusFirstChildOnChildLaidOutListener()); } } finally { typedArray.Recycle(); } // We need this listener to get information about the currently _selected_ item // Overriding setter of base.SelectedPosition is not enough! OnChildViewHolderSelectedListener = new MvxOnChildViewHolderSelectedListener(); SetOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener); }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own ItemTemplateSelector if (adapter == null) { return; } var currentLayoutManager = GetLayoutManager(); if (currentLayoutManager == null) #pragma warning disable CA2000 // Dispose objects before losing scope { SetLayoutManager(new MvxGuardedLinearLayoutManager(context)); } #pragma warning restore CA2000 // Dispose objects before losing scope var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); var itemTemplateSelector = MvxRecyclerViewAttributeExtensions.BuildItemTemplateSelector(context, attrs, itemTemplateId); adapter.ItemTemplateSelector = itemTemplateSelector; Adapter = adapter; if (itemTemplateId == 0) { itemTemplateId = global::Android.Resource.Layout.SimpleListItem1; } if (itemTemplateSelector.GetType() == typeof(MvxDefaultTemplateSelector)) { ItemTemplateId = itemTemplateId; } }
public MvxHorizontalGridView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own itemTemplateId if (adapter == null) { return; } var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); adapter.ItemTemplateId = itemTemplateId; Adapter = adapter; var typedArray = context.ObtainStyledAttributes(attrs, Resource.Styleable.MvxHorizontalGridView); try { FocusFirstChildOnLaidOut = typedArray.GetBoolean(Resource.Styleable.MvxHorizontalGridView_FocusFirstChildOnLaidOut, false); if (FocusFirstChildOnLaidOut) { SetOnChildLaidOutListener(new MvxFocusFirstChildOnChildLaidOutListener()); } } finally { typedArray.Recycle(); } // We need this listener to get information about the currently _selected_ item // Overriding setter of base.SelectedPosition is not enough! OnChildViewHolderSelectedListener = new MvxOnChildViewHolderSelectedListener(); SetOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener); }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own ItemTemplateSelector if (adapter == null) { return; } var currentLayoutManager = base.GetLayoutManager(); // Love you Android // https://code.google.com/p/android/issues/detail?id=77846#c10 // Don't believe those bastards, it's not fixed - workaround hack hack hack if (currentLayoutManager == null) { SetLayoutManager(new MvxGuardedLinearLayoutManager(context)); } var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); var itemTemplateSelector = MvxRecyclerViewAttributeExtensions.BuildItemTemplateSelector(context, attrs); adapter.ItemTemplateSelector = itemTemplateSelector; Adapter = adapter; if (itemTemplateSelector.GetType() == typeof(MvxDefaultTemplateSelector)) { ItemTemplateId = itemTemplateId; } }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own ItemTemplateSelector if (adapter == null) { return; } if (base.GetLayoutManager() == null) { SetLayoutManager(new LinearLayoutManager(context)); } var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); var itemTemplateSelector = MvxRecyclerViewAttributeExtensions.BuildItemTemplateSelector(context, attrs); adapter.ItemTemplateSelector = itemTemplateSelector; Adapter = adapter; if (itemTemplateSelector.GetType() == typeof(MvxDefaultTemplateSelector)) { ItemTemplateId = itemTemplateId; } HidesHeaderIfEmpty = MvxRecyclerViewAttributeExtensions.IsHidesHeaderIfEmptyEnabled(context, attrs); HidesFooterIfEmpty = MvxRecyclerViewAttributeExtensions.IsHidesFooterIfEmptyEnabled(context, attrs); if (MvxRecyclerViewAttributeExtensions.IsGroupingSupported(context, attrs)) { GroupedDataConverter = MvxRecyclerViewAttributeExtensions.BuildMvxGroupedDataConverter(context, attrs); } }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own itemTemplateId if (adapter == null) return; SetLayoutManager(new LinearLayoutManager(context)); var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); adapter.ItemTemplateId = itemTemplateId; Adapter = adapter; }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own itemTemplateId if (adapter == null) { return; } SetLayoutManager(new LinearLayoutManager(context)); var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); adapter.ItemTemplateId = itemTemplateId; Adapter = adapter; }
public MvxHorizontalGridView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own itemTemplateId if (adapter == null) return; var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); adapter.ItemTemplateId = itemTemplateId; Adapter = adapter; // We need this listener to get information about the currently _selected_ item OnChildViewHolderSelectedListener = new MvxOnChildViewHolderSelectedListener(); SetOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener); }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own ItemTemplateSelector if (adapter == null) return; SetLayoutManager(new LinearLayoutManager(context)); var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); var itemTemplateSelector = MvxRecyclerViewAttributeExtensions.BuildItemTemplateSelector(context, attrs); adapter.ItemTemplateSelector = itemTemplateSelector; Adapter = adapter; if (itemTemplateSelector.GetType() == typeof (MvxDefaultTemplateSelector)) ItemTemplateId = itemTemplateId; }
public MvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle) { // Note: Any calling derived class passing a null adapter is responsible for setting // it's own ItemTemplateSelector if (adapter == null) { return; } SetLayoutManager(new LinearLayoutManager(context)); var itemTemplateId = MvxAttributeHelpers.ReadListItemTemplateId(context, attrs); var itemTemplateSelector = MvxRecyclerViewAttributeExtensions.BuildItemTemplateSelector(context, attrs); adapter.ItemTemplateSelector = itemTemplateSelector; Adapter = adapter; if (itemTemplateSelector.GetType() == typeof(MvxDefaultTemplateSelector)) { ItemTemplateId = itemTemplateId; } }
public CustomRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle, adapter) { }
public LineDividedRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle, adapter) { Setup(context); }
public HorizontalRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle, adapter) { Init(context, attrs); }
public AggRecyclerLayout(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle, adapter) { this.SetLayoutManager(new LinearLayoutManager(this.Context, LinearLayoutManager.Horizontal, false)); }
public MvxShimmeringRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle, adapter) { Android.Content.Res.TypedArray a = context.ObtainStyledAttributes( attrs, MvxShimmering.Resource.Styleable.MvxShimmeringRecyclerView, defStyle, 0); this.MvxShimmerTemplateId = a.GetResourceId(MvxShimmering.Resource.Styleable.MvxShimmeringRecyclerView_MvxShimmerTemplateId, -1); if (this.MvxShimmerTemplateId == -1) { throw new ArgumentNullException($"You must provide a value for the {nameof(MvxShimmering.Resource.Styleable.MvxShimmeringRecyclerView_MvxShimmerTemplateId)} attribute"); } base.ItemTemplateSelector = new ShimmerItemTemplateSelector( this.ItemTemplateId, this.MvxShimmerTemplateId); this.ItemsSource = null; }
public RefreshMvxRecyclerView(Context context, IAttributeSet attrs, int defStyle, IMvxRecyclerAdapter adapter) : base(context, attrs, defStyle, adapter) { this.Init(); }