void SetCurrentItems(int position) { if (currentLayout != null) { currentLayout.Refresh -= HandleRefresh; } currentLayout = refreshViews [position]; currentList = leaderboardListViews [position]; currentAdapter = leaderboardAdapters [position]; currentLayout.Refresh += HandleRefresh; }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var v = inflater.Inflate(Resource.Layout.fragment_tabstrip, container, false); loadingView = inflater.Inflate(Resource.Layout.loading_view, null, false); refreshViews = new List <Android.Support.V4.Widget.SwipeRefreshLayout> (); leaderboardAdapters = new List <LeaderboardAdapter> (); leaderboardListViews = new List <ListView> (); if (profile.teams.Count > 0) { foreach (var team in profile.teams) { var leaderboardRefreshView = new Android.Support.V4.Widget.SwipeRefreshLayout(Activity); var leaderboardListView = new ListView(Activity); var leaderboardAdapter = new LeaderboardAdapter(Activity); leaderboardListView.Adapter = leaderboardAdapter; leaderboardRefreshView.AddView(leaderboardListView); TeamHolder th = new TeamHolder(); th.id = team.id; th.name = team.name; leaderboardRefreshView.Tag = th; refreshViews.Add(leaderboardRefreshView); leaderboardListViews.Add(leaderboardListView); leaderboardAdapters.Add(leaderboardAdapter); } } var lrv = new Android.Support.V4.Widget.SwipeRefreshLayout(Activity); var llv = new ListView(Activity); var lda = new LeaderboardAdapter(Activity); llv.Adapter = lda; lrv.AddView(llv); TeamHolder wth = new TeamHolder(); wth.id = -1; wth.name = "World"; lrv.Tag = wth; refreshViews.Add(lrv); leaderboardListViews.Add(llv); leaderboardAdapters.Add(lda); SetCurrentItems(0); adapter = new MyPagerAdapter(refreshViews); pager = v.FindViewById <ViewPager> (Resource.Id.pager); tabs = v.FindViewById <PagerSlidingTabStrip> (Resource.Id.tabs); pager.Adapter = adapter; tabs.SetViewPager(pager); tabs.OnPageChangeListener = this; // refreshView = v.FindViewById<Android.Support.V4.Widget.SwipeRefreshLayout> (Resource.Id.refreshView); // // refreshView.Refresh += async delegate { // var resp = await client.ExecuteGetTaskAsync(request); // var content = resp.Content; // var serializerSettings = new JsonSerializerSettings() { // NullValueHandling = NullValueHandling.Ignore, // DateParseHandling = DateParseHandling.None // }; // adapter.Leaderboard = JsonConvert.DeserializeObject<Core.Leaderboard.Leaderboard>(content, serializerSettings); // // refreshView.Refreshing = false; // UpdateView(); // }; // UpdateView (); return(v); }