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(); }; }
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); } } }
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; }