//al usar métodos asincronos o llamadas a dichos métodos la función o método donde lo realizamos tambien tiene que volverse asíncrono protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.NuevoLugar); filtroEditText = FindViewById <EditText>(Resource.Id.filtroEditText); categoriaSpinner = FindViewById <Spinner>(Resource.Id.categoriaSpinner); avenidasListView = FindViewById <ListView>(Resource.Id.avenidasListView); Toolbar nuevoLugarToolbar = FindViewById <Toolbar>(Resource.Id.nuevoLugarToolbar); avenidasListView.ChoiceMode = ChoiceMode.Multiple; SetActionBar(nuevoLugarToolbar); ActionBar.Title = "Nuevo Destino"; FoursQuare helper = new FoursQuare(); categorias = await helper.ObtenerCategorias(); ciudadSeleccionada = Intent.Extras.GetString("Ciudad_seleccionada"); ciudadId = Intent.Extras.GetInt("Ciudad_id"); var spinnerAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerItem, categorias); categoriaSpinner.Adapter = spinnerAdapter; categoriaSpinner.ItemSelected += CategoriaSpinner_ItemSelected; filtroEditText.TextChanged += FiltroEditText_TextChanged; }
async void CategoriaSpinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e) { var categoriaSeleccionada = categorias[e.Position]; FoursQuare helperNew = new FoursQuare(); Avenidas = await helperNew.ObtenerAvenidas(ciudadSeleccionada, categoriaSeleccionada.Id); var listAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItemMultipleChoice, Avenidas); avenidasListView.Adapter = listAdapter; }