コード例 #1
0
        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;
        }
コード例 #2
0
 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();
 }
コード例 #3
0
 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);
     }
 }