private TextColoringAdapterWithLoadMoreButton CreateListAdapter() { var from = new[] { "User", "Msg", "Date" }; var to = new[] { Ids.LatestCommitsWidget_ChangesetUser, Ids.LatestCommitsWidget_ChangesetText, Ids.LatestCommitsWidget_ChangesetDate }; var listItems = CreateListItems(); var layout = Resource.Layout.LatestCommitsWidget_ListItem; var adapter = new TextColoringAdapterWithLoadMoreButton(Context, listItems, layout, from, to, GetHighlightColor()); adapter.LoadMoreClick += (o, e) => { scrollDown = true; GC.Collect(0); //LoadMore is expensive memory wise, so we do a minor GC here model.LoadMore(() => ((Activity)Context).RunOnUiThread(Redraw)); }; return(adapter); }
public void Redraw() { var listView = FindViewById <ListView>(Resource.Id.LatestCommitsList); var lastItemBeforeExpansion = Math.Max(0, listView.Count - 1); if (ShouldRecreateListAdapter()) { listAdapter = CreateListAdapter(); } listAdapter.ButtonEnabled = model.HasMore; listView.Adapter = listAdapter; if (scrollDown) { var xScroll = lastItemBeforeExpansion == 0 ? 0 : Height - 70; listView.SetSelectionFromTop(lastItemBeforeExpansion, xScroll); } OnDescriptionChanged(new EventArgs()); }
public void Redraw() { var listView = FindViewById<ListView>(Resource.Id.LatestCommitsList); var lastItemBeforeExpansion = Math.Max(0, listView.Count - 1); if (ShouldRecreateListAdapter()) { listAdapter = CreateListAdapter(); } listAdapter.ButtonEnabled = model.HasMore; listView.Adapter = listAdapter; if (scrollDown) { var xScroll = lastItemBeforeExpansion == 0 ? 0 : Height - 70; listView.SetSelectionFromTop(lastItemBeforeExpansion, xScroll); } OnDescriptionChanged(new EventArgs()); }
private TextColoringAdapterWithLoadMoreButton CreateListAdapter() { var from = new[] { "User", "Msg", "Date" }; var to = new[] { Ids.LatestCommitsWidget_ChangesetUser, Ids.LatestCommitsWidget_ChangesetText, Ids.LatestCommitsWidget_ChangesetDate }; var listItems = CreateListItems(); var layout = Resource.Layout.LatestCommitsWidget_ListItem; var adapter = new TextColoringAdapterWithLoadMoreButton(Context, listItems, layout, from, to, GetHighlightColor()); adapter.LoadMoreClick += (o, e) => { scrollDown = true; GC.Collect(0); //LoadMore is expensive memory wise, so we do a minor GC here model.LoadMore(() => ((Activity) Context).RunOnUiThread(Redraw)); }; return adapter; }