/// <summary> /// Loads the event List and display it /// </summary> /// <param name="scriptPath">The script URL to call</param> /// <param name="filter">To filter if we want past events or in progress/not started yet events</param> public void loadList(string scriptPath, bool filter) { List <Event> events = JsonConvert.DeserializeObject <List <Event> >(APIConnector.getData(scriptPath)); ListView list = (ListView)FindViewById(Resource.Id.mainList); EventsAdapter eventsAdapater = new EventsAdapter(this, events, filter); list.Adapter = eventsAdapater; }
/// <summary> /// Load the messages of the event from database /// </summary> private void loadMessages() { Console.WriteLine("Load message before clear: anEvent.Message.Count: {0}", anEvent.Messages.Count); List <Message> messages = new List <Message>(); messages = JsonConvert.DeserializeObject <List <Message> >(APIConnector.getData("http://10.0.2.2/scripts/getMessages.php?eventId=" + eventId.ToString())); Console.WriteLine("Load message after clear: anEvent.Message.Count: {0} messages.Count: {1}", anEvent.Messages.Count, messages.Count); if (anEvent.Messages.Count < messages.Count) { anEvent.Messages.Clear(); anEvent.Messages.AddRange(messages); Console.WriteLine("Load message Après assignement : anEvent.Message.Count: {0} messages.Count: {1}", anEvent.Messages.Count, messages.Count); messagesAdapter.NotifyDataSetChanged(); list.ScrollTo(0, 0); FindViewById <LinearLayout>(Resource.Id.baseView).Invalidate(); FindViewById <LinearLayout>(Resource.Id.baseView).RefreshDrawableState(); } }
/// <summary> /// OnCreate is called when the system creates this new activity /// </summary> /// <param name="savedInstanceState">The previous activity saved state</param> protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.EventDetails); list = FindViewById <ListView>(Resource.Id.messagesList); FindViewById <Button>(Resource.Id.backBtn).Click += BackBtn_Click; eventId = Intent.GetIntExtra("eventId", -1); if (eventId < 0) { Finish(); } anEvent = JsonConvert.DeserializeObject <Event>(APIConnector.getData("http://10.0.2.2/scripts/getEvent.php?eventId=" + eventId.ToString())); messagesAdapter = new MessagesAdapter(this, anEvent.Messages); messagesAdapter.NotifyDataSetChanged(); list.Adapter = messagesAdapter; timer = new System.Timers.Timer(); timer.Enabled = true; timer.Interval = 5000; timer.Elapsed += Timer_Elapsed; timer.AutoReset = true; displayEventInfos(); timer.Start(); }