public override void ViewDidLoad() { base.ViewDidLoad(); TableSetup(); NavigationItem.TitleView = SetTitle("News", "from «hse.ru»"); List <News> emptyNews = new List <News>(); emptyNews.AddRange(new List <News> { new News("", "launchCellInside.png", " "), new News("", "launchCellInside.png", " "), new News("", "launchCellInside.png", " "), new News("", "launchCellInside.png", " ") }); NewsTable.Source = new NewsTableSource(emptyNews, false); NewsTable.ScrollEnabled = false; new Thread(new ThreadStart(() => { NewsUpdate.SavedNewsList = NewsUpdate.InitialUpdateNews(); InvokeOnMainThread(() => { NewsTable.Source = new NewsTableSource(NewsUpdate.SavedNewsList, true); NewsTable.ReloadData(); NewsTable.ScrollEnabled = true; }); })).Start(); SubmenuButton.Title = ""; SubmenuButton.Enabled = false; }
private void refreshTable(object sender, EventArgs e) { refreshControl.BeginRefreshing(); new Thread(new ThreadStart(() => { NewsUpdate.SavedNewsList = NewsUpdate.InitialUpdateNews(); InvokeOnMainThread(() => { NewsTable.Source = new NewsTableSource(NewsUpdate.SavedNewsList); refreshControl.EndRefreshing(); }); })).Start(); }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { if (indexPath.Row >= NewsUpdate.loadedPageOfNews * 10 - 10 && !isLoading) { isLoading = true; new System.Threading.Thread(new System.Threading.ThreadStart(() => { List <News> tempList = NewsUpdate.UpdateNews(); if (tempList.Count > 1) { NewsUpdate.loadedPageOfNews += 1; for (int i = 0; i < 10; i++) { NewsUpdate.SavedNewsList.Add(tempList[i]); } InvokeOnMainThread(() => { tableView.Source = new NewsTableSource(NewsUpdate.SavedNewsList); isLoading = false; }); } else { InvokeOnMainThread(() => { tableView.Source = new NewsTableSource(tempList); }); } })).Start(); } if (hasGradient) { var cell = tableView.DequeueReusableCell(cellIdentifierWithGradient) as NewsCell; if (cell == null) { cell = new NewsCell(cellIdentifierWithGradient, true); } cell.UpdateCell(tableItems[indexPath.Row].Title , tableItems[indexPath.Row].Image); return(cell); } else { var cell = tableView.DequeueReusableCell(cellIdentifierNoGradient) as NewsCell; if (cell == null) { cell = new NewsCell(cellIdentifierNoGradient, false); } cell.UpdateCell(tableItems[indexPath.Row].Title , tableItems[indexPath.Row].Image); return(cell); } }