Пример #1
0
        public override void OnActivityCreated(Android.OS.Bundle savedInstanceState)
        {
            base.OnActivityCreated(savedInstanceState);
            ListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => {
                // Open run in RunLocationListFragment
//				Run run = (Run)((RunListAdapter)ListAdapter).GetItem(e.Position);
//				Intent i = new Intent(Activity, typeof(RunLocationListActivity));
//				i.PutExtra(RUN_ID, run.Id);
//				i.SetFlags(ActivityFlags.ClearTop);
//				StartActivity(i);

                // Open run in RunFragment
                Run    run = (Run)((RunListAdapter)ListAdapter).GetItem(e.Position);
                Intent i   = new Intent(Activity, typeof(RunActivity));
                i.PutExtra(RUN_ID, run.Id);
                StartActivityForResult(i, VIEW_RUN);
            };

            ListView.ItemLongClick += (object sender, AdapterView.ItemLongClickEventArgs e) => {
                e.Handled = true;
                AlertDialog.Builder ad = new AlertDialog.Builder(Activity);
                ad.SetTitle(Activity.GetString(Resource.String.delete_item));
                ad.SetMessage(Activity.GetString(Resource.String.are_you_sure));
                ad.SetPositiveButton(Activity.GetString(Resource.String.ok), (s, dcea) => {
                    Run run = (Run)((RunListAdapter)ListAdapter).GetItem(e.Position);
                    mRunManager.DeleteItem(run);
                    RunListAdapter adapter = (RunListAdapter)ListAdapter;
                    adapter.Remove(run);
                    adapter.NotifyDataSetChanged();
                });
                ad.SetNegativeButton(Activity.GetString(Resource.String.cancel), (s, dcea) => {});
                ad.Show();
            };
        }
Пример #2
0
        public override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            if (REQUEST_NEW_RUN == requestCode || VIEW_RUN == requestCode)
            {
                List <Run> runs = mRunManager.GetRuns();
                // Lazy way to update all of the data on the adapter
                RunListAdapter adapter = new RunListAdapter(Activity, runs);
                ListAdapter = adapter;
                // This was working great to add a new run if there was one, but also needed to see if any
                // no longer active runs needed their item in the adapter updated.
//				RunListAdapter adapter = (RunListAdapter)ListAdapter;
//				if (runs.Count > adapter.Count) {
//					adapter.Add(runs[runs.Count -1]);
//				}
//				adapter.NotifyDataSetChanged();

                IMenuItem newRun = mMenu.FindItem(Resource.Id.menu_item_new_run);
                if (mRunManager.IsTrackingRun())
                {
                    newRun.SetTitle(Resource.String.current_run);
                    newRun.SetIcon(Android.Resource.Drawable.IcMenuInfoDetails);
                }
                else
                {
                    newRun.SetTitle(Resource.String.new_run);
                    newRun.SetIcon(Android.Resource.Drawable.IcMenuAdd);
                }
            }
        }
Пример #3
0
        public override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetHasOptionsMenu(true);
            RetainInstance = true;
            mRunManager    = RunManager.Get(Activity);
            mRunManager.CreateDatabase();

            RunListAdapter adapter = new RunListAdapter(Activity, mRunManager.GetRuns());

            ListAdapter = adapter;
        }