void CitiesManager_CitiesFetched(object sender, Models.CitiesEventArgs e) { Ciudades = e.Cities; InvokeOnMainThread(() => refreshControl.EndRefreshing()); //Actualizo la tabla }
//Estos son llamados en hilos secundarios, //por lo tanto, para alterar la interfaz hay que ejecutar //explicítamente en el hilo principal algunas cosas. void CitiesManager_CitiesFetched(object sender, Models.CitiesEventArgs e) { dictCities = e.Cities; lstHeaders = new List <string>(); //Se guardan los headers en esta lista /* * foreach (string valueHeader in dictCities.Keys) * { * lstHeaders.Add(valueHeader); * } */ lstHeaders.AddRange(dictCities.Keys); //Este método se llama desde otro hilo, hay que pasarlo al hilo principal. InvokeOnMainThread(() => { //Para detener la animación del Refrescador. refreshControl.EndRefreshing(); //Actualizar la tabla. TableView.ReloadData(); }); }