Пример #1
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            CallListViewModel = new CallListViewModel();


            var rootView = inflater.Inflate(Resource.Layout.fragment_call, container, false);

            recycler     = rootView.FindViewById <RecyclerView>(Resource.Id.recycleCallHistory);
            fabAddCall   = rootView.FindViewById <FloatingActionButton>(Resource.Id.fabCall);
            swipeRefresh = rootView.FindViewById <SwipeRefreshLayout>(Resource.Id.swipeRefresh);
            InitSwipeRefreshLayout(swipeRefresh);

            recycler.HasFixedSize = true;
            recycler.SetLayoutManager(new GridLayoutManager(this.Context, 2));
            recycler.SetItemAnimator(new DefaultItemAnimator());

            Adapter = new CallListAdapter(Activity, CallListViewModel);
            recycler.SetAdapter(Adapter);

            InitRecyclerScrollListener(recycler, (e) => {
                if (e && fabAddCall.IsShown)
                {
                    fabAddCall.Hide();
                }
                else if (!e && !fabAddCall.IsShown)
                {
                    fabAddCall.Show();
                }
            });

            return(rootView);
        }
Пример #2
0
        public CallListAdapter(Activity ParentActivity, CallListViewModel ViewModel)
        {
            this.ParentActivity = ParentActivity;
            this.ViewModel      = ViewModel;

            ViewModel.Items.CollectionChanged += (sender, args) =>
            {
                if (args.Action == NotifyCollectionChangedAction.Reset)
                {
                    this.ParentActivity.RunOnUiThread(NotifyDataSetChanged);
                }
            };
        }