I want data from async function in return as a list which will be assign to a list inside synchronus function .I am calling asynchronus function in OnCreateView method of Fragment in xamarin android, which is retur a list . When async method go and fetch data it goes into await mode. When it is waiting for data return it comes out of function and read below code lines of synchronus method where it is called. When async func is not able to return list It is causing empty list on my activity and showing no data.
Here is My Code:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using OSDAMobileModel;
- using System.Net.Http;
- using Newtonsoft.Json;
- using System.Threading.Tasks;
- using System.Collections;
- using Android.App;
- using Android.Content;
- using Android.OS;
- using Android.Runtime;
- using Android.Views;
- using Android.Widget;
- namespace OSDAMobileApp
- {
- public class CheckInFragment : Fragment
- {
- List lstRoute = new List();
- public override void OnCreate(Bundle savedInstanceState)
- {
- base.OnCreate(savedInstanceState);
- }
- public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
- {
- var view = inflater.Inflate(Resource.Layout.SelectRoute, container, false);
- ListView routesListView = view.FindViewById(Resource.Id.ListView);
- List routeslst = lstRoute;
- OnAppearing();
- routesListView.Adapter = new CustomListAdapter(lstRoute);
- return view;
- }
- protected async Task> OnAppearing()
- {
- SetupFiles setupFiles = new SetupFiles();
-
- var prpDetails = await setupFiles.LoadTextAsync("PRPDetails.txt");
- PRPMaster prpMaster = JsonConvert.DeserializeObject(prpDetails);
- foreach (var item in prpMaster.PRPDetails)
- {
- lstRoute.Add(item.Route);
- }
- return lstRoute;
- }
- }
- }