コード例 #1
0
        protected override async void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            rvMenu     = FindViewById <RecyclerView>(Resource.Id.rvMenu);
            rvRequests = FindViewById <RecyclerView>(Resource.Id.rvRequests);

            GridLayoutManager lm = new GridLayoutManager(this, 2);

            rvMenu.SetLayoutManager(lm);

            DividerItemDecoration dividerItemDecoration  = new DividerItemDecoration(this, DividerItemDecoration.Vertical);
            DividerItemDecoration dividerItemDecoration2 = new DividerItemDecoration(this, DividerItemDecoration.Horizontal);

            rvMenu.AddItemDecoration(dividerItemDecoration);
            rvMenu.AddItemDecoration(dividerItemDecoration2);


            MainMenuAdapter adapter = new MainMenuAdapter(menuItems);

            adapter.ItemClick += Adapter_ItemClick;
            rvMenu.SetAdapter(adapter);

            LinearLayoutManager manager = new LinearLayoutManager(this);

            rvRequests.SetLayoutManager(manager);
            rvRequests.AddItemDecoration(dividerItemDecoration2);

            serviceRequests = await Repository.GetPendingRequests();

            if (serviceRequests.Count < 1)
            {
                serviceRequests = await ServiceHelper.GetServiceRequests();
            }

            adapter2 = new RequestsAdapter(serviceRequests.ToArray(), _currentLocation);
            rvRequests.SetAdapter(adapter2);
            adapter2.ItemClick += Adapter2_ItemClick;

            if ((int)Build.VERSION.SdkInt < 23)
            {
                InitializeLocationManager();
                return;
            }
            else
            {
                GetLocationPermissionAsync();
            }
        }
コード例 #2
0
        public void HandleMessage(RequestVM request)
        {
            if (serviceRequests != null)
            {
                bool inProgressPresent = serviceRequests.Any(x => x.StartedTime != null);
                if (!inProgressPresent)
                {
                    serviceRequests.Insert(0, request);

                    RunOnUiThread(() =>
                    {
                        adapter2 = new RequestsAdapter(serviceRequests.ToArray(), _currentLocation);
                        rvRequests.SetAdapter(adapter2);
                        adapter2.ItemClick += Adapter2_ItemClick;
                        adapter2.NotifyDataSetChanged();
                    });
                }
            }
        }