コード例 #1
0
        protected override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.SelectLocation);

            var locationManager = (LocationManager)this.GetSystemService(LocationService);
            var geoCoder = new Geocoder(this);
            this.listView = this.FindViewById<ListView>(Resource.Id.listViewSelectLocations);

            try
            {
                this.coreApplicationContext = CentralStation.Instance.Ainject.ResolveType<ICoreApplicationContext>();
                locationManager.RegisterLocationManager(this, this.coreApplicationContext);

                this.viewModel = CentralStation.Instance.Ainject.ResolveType<ISelectLocationViewModel>();
                IList<TrackLocation> currentLocations = this.viewModel.ResolveCurrentLocations(geoCoder);

                this.listView.Adapter = new TrackLocationListAdapter(this, currentLocations);
                //this.listView.TextFilterEnabled = true;

                this.listView.ItemClick += (sender, e) =>
                {
                    var backToMain = new Intent(this, typeof(CompleteLocationInput));
                    var item = currentLocations[e.Position];
                    CentralStation.Instance.Ainject.ResolveType<ITimeTrackerWorkspace>().SaveTrackLocation(item);
                    backToMain.PutExtra("LocationId", item.ID);

                    this.StartActivity(backToMain);
                };
            }
            catch (Exception ex)
            {
                Log.Error(this.GetType().Name, ex.StackTrace);
            }
        }
コード例 #2
0
        protected override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.SelectLocation);

            var locationManager = (LocationManager)this.GetSystemService(LocationService);
            var geoCoder        = new Geocoder(this);

            this.listView = this.FindViewById <ListView>(Resource.Id.listViewSelectLocations);

            try
            {
                this.coreApplicationContext = CentralStation.Instance.Ainject.ResolveType <ICoreApplicationContext>();
                locationManager.RegisterLocationManager(this, this.coreApplicationContext);

                this.viewModel = CentralStation.Instance.Ainject.ResolveType <ISelectLocationViewModel>();
                IList <TrackLocation> currentLocations = this.viewModel.ResolveCurrentLocations(geoCoder);

                this.listView.Adapter = new TrackLocationListAdapter(this, currentLocations);
                //this.listView.TextFilterEnabled = true;

                this.listView.ItemClick += (sender, e) =>
                {
                    var backToMain = new Intent(this, typeof(CompleteLocationInput));
                    var item       = currentLocations[e.Position];
                    CentralStation.Instance.Ainject.ResolveType <ITimeTrackerWorkspace>().SaveTrackLocation(item);
                    backToMain.PutExtra("LocationId", item.ID);

                    this.StartActivity(backToMain);
                };
            }
            catch (Exception ex)
            {
                Log.Error(this.GetType().Name, ex.StackTrace);
            }
        }