private void EnsureAdapter () { if (recyclerView.GetAdapter() == null) { var isGrouped = ServiceContainer.Resolve<SettingsStore> ().GroupedTimeEntries; collectionView = isGrouped ? (TimeEntriesCollectionView)new GroupedTimeEntriesView () : new LogTimeEntriesView (); logAdapter = new LogTimeEntriesAdapter (recyclerView, collectionView); recyclerView.SetAdapter (logAdapter); SetupRecyclerView (); } }
private void EnsureAdapter () { if (ListAdapter == null && UserVisibleHint) { var adapter = new LogTimeEntriesAdapter (); adapter.HandleTimeEntryDeletion = ConfirmTimeEntryDeletion; adapter.HandleTimeEntryEditing = OpenTimeEntryEdit; adapter.HandleTimeEntryContinue = ContinueTimeEntry; ListAdapter = adapter; } }
private void EnsureAdapter() { if (recyclerView.GetAdapter() == null) { var isGrouped = ServiceContainer.Resolve <SettingsStore> ().GroupedTimeEntries; collectionView = isGrouped ? (TimeEntriesCollectionView) new GroupedTimeEntriesView() : new LogTimeEntriesView(); logAdapter = new LogTimeEntriesAdapter(recyclerView, collectionView); recyclerView.SetAdapter(logAdapter); SetupRecyclerView(); } }
private void EnsureAdapter() { if (ListAdapter == null && UserVisibleHint) { var adapter = new LogTimeEntriesAdapter(); adapter.HandleTimeEntryDeletion = ConfirmTimeEntryDeletion; adapter.HandleTimeEntryEditing = OpenTimeEntryEdit; adapter.HandleTimeEntryContinue = ContinueTimeEntry; ListAdapter = adapter; } }
private void ReleaseRecyclerView() { recyclerView.RemoveItemDecoration(shadowDecoration); recyclerView.RemoveItemDecoration(dividerDecoration); recyclerView.RemoveOnItemTouchListener(itemTouchListener); recyclerView.GetAdapter().Dispose(); recyclerView.Dispose(); logAdapter = null; itemTouchListener.Dispose(); dividerDecoration.Dispose(); shadowDecoration.Dispose(); }
public async override void OnViewCreated(View view, Bundle savedInstanceState) { base.OnViewCreated(view, savedInstanceState); // init viewModel ViewModel = LogTimeEntriesViewModel.Init(); collectionBinding = this.SetBinding(() => ViewModel.Collection).WhenSourceChanges(() => { logAdapter = new LogTimeEntriesAdapter(recyclerView, ViewModel); recyclerView.SetAdapter(logAdapter); }); hasMoreBinging = this.SetBinding(() => ViewModel.HasMoreItems).WhenSourceChanges(SetFooterState); hasErrorBinding = this.SetBinding(() => ViewModel.HasLoadErrors).WhenSourceChanges(SetFooterState); hasItemsBinding = this.SetBinding(() => ViewModel.HasItems).WhenSourceChanges(SetCollectionState); fabBinding = this.SetBinding(() => ViewModel.IsTimeEntryRunning, () => StartStopBtn.ButtonAction) .ConvertSourceToTarget(isRunning => isRunning ? FABButtonState.Stop : FABButtonState.Start); newMenuBinding = this.SetBinding(() => ViewModel.IsTimeEntryRunning) .WhenSourceChanges(() => { if (AddNewMenuItem != null) { AddNewMenuItem.SetVisible(!ViewModel.IsTimeEntryRunning); } }); // Pass ViewModel to TimerComponent. timerComponent.SetViewModel(ViewModel); StartStopBtn.Click += StartStopClick; SetupRecyclerView(ViewModel); // TODO: Review this line. // Get data to fill the list. For the moment, // until a screenloader is added to the screen // is better to load the items after create // the viewModel and show the loader from RecyclerView await ViewModel.LoadMore(); // Subscribe to sync messages var bus = ServiceContainer.Resolve <MessageBus> (); drawerSyncFinished = bus.Subscribe <SyncFinishedMessage> (SyncFinished); }
public async override void OnViewCreated (View view, Bundle savedInstanceState) { base.OnViewCreated (view, savedInstanceState); ViewModel = new LogTimeEntriesViewModel (); await ViewModel.Init (); hasMoreBinding = this.SetBinding ( ()=> ViewModel.HasMore) .WhenSourceChanges (ShowEmptyState); collectionBinding = this.SetBinding ( ()=> ViewModel.CollectionView) .WhenSourceChanges (() => { logAdapter = new LogTimeEntriesAdapter (recyclerView, ViewModel.CollectionView); recyclerView.SetAdapter (logAdapter); }); fabBinding = this.SetBinding ( () => ViewModel.IsTimeEntryRunning, () => StartStopBtn.ButtonAction) .ConvertSourceToTarget (isRunning => isRunning ? FABButtonState.Stop : FABButtonState.Start); StartStopBtn.Click += StartStopClick; }
public async override void OnViewCreated (View view, Bundle savedInstanceState) { base.OnViewCreated (view, savedInstanceState); // init viewModel ViewModel = LogTimeEntriesViewModel.Init (); collectionBinding = this.SetBinding (() => ViewModel.Collection).WhenSourceChanges (() => { logAdapter = new LogTimeEntriesAdapter (recyclerView, ViewModel); recyclerView.SetAdapter (logAdapter); }); fabBinding = this.SetBinding (() => ViewModel.IsTimeEntryRunning, () => StartStopBtn.ButtonAction) .ConvertSourceToTarget (isRunning => isRunning ? FABButtonState.Stop : FABButtonState.Start); newMenuBinding = this.SetBinding (() => ViewModel.IsTimeEntryRunning) .WhenSourceChanges (() => { if (AddNewMenuItem != null) { AddNewMenuItem.SetVisible (!ViewModel.IsTimeEntryRunning); } }); // Pass ViewModel to TimerComponent. timerComponent.SetViewModel (ViewModel); StartStopBtn.Click += StartStopClick; SetupRecyclerView (ViewModel); // TODO: Review this line. // Get data to fill the list. For the moment, // until a screenloader is added to the screen // is better to load the items after create // the viewModel and show the loader from RecyclerView await ViewModel.LoadMore (); // Subscribe to sync messages var bus = ServiceContainer.Resolve<MessageBus> (); drawerSyncFinished = bus.Subscribe<SyncFinishedMessage> (SyncFinished); }
private void ReleaseRecyclerView () { recyclerView.RemoveItemDecoration (shadowDecoration); recyclerView.RemoveItemDecoration (dividerDecoration); recyclerView.RemoveOnItemTouchListener (itemTouchListener); recyclerView.GetAdapter ().Dispose (); recyclerView.Dispose (); logAdapter = null; itemTouchListener.Dispose (); dividerDecoration.Dispose (); shadowDecoration.Dispose (); }
private void EnsureAdapter () { if (recyclerView.GetAdapter() == null) { var isGrouped = ServiceContainer.Resolve<SettingsStore> ().GroupedTimeEntries; if (isGrouped) { logAdapter = new LogTimeEntriesAdapter (recyclerView, new GroupedTimeEntriesView()); } else { logAdapter = new LogTimeEntriesAdapter (recyclerView, new LogTimeEntriesView()); } recyclerView.SetAdapter (logAdapter); SetupRecyclerView (); } }