亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark機器學習環境搭建

發布時間:2020-09-09 10:17:58 來源:網絡 閱讀:271 作者:xianyingyi 欄目:軟件技術

最近幾天在研究上拉加載啊,下拉刷新啊什么的。然而坑爹的事情總是那么多。在xamarin.forms中,list自帶的,并沒有上拉加載的這個屬性(難道當初他們封裝方法時,就不會想到數據多了會咋整嗎?)抱怨歸抱怨,問題總是要解決的。

既然沒有,那就自己寫一個嘍~

思路


我的思路是這樣的,

什么是上拉刷新,那是不是就是說,在當前頁面,看到最后一個item的時候,我需要加載一些新的數據,那我是不是可以寫一個,只要出現了最后一個item我們就去刷新最新數據呢?

Spark機器學習環境搭建

 1 public class InfiniteListView : ListView 2     { 3         public static readonly BindableProperty LoadMoreCommandProperty = BindableProperty.Create(nameof(LoadMoreCommand), typeof(ICommand), typeof(InfiniteListView)); 4         public static readonly BindableProperty CanLoadMoreProperty = BindableProperty.Create(nameof(CanLoadMore), typeof(bool), typeof(InfiniteListView), true); 5  6         public ICommand LoadMoreCommand 7         { 8             get { return (ICommand)GetValue(LoadMoreCommandProperty); } 9             set { SetValue(LoadMoreCommandProperty, value); }10         }11 12         public bool CanLoadMore13         {14             get15             {16                 return (bool)GetValue(CanLoadMoreProperty);17             }18             set19             {20                 SetValue(CanLoadMoreProperty, value);21             }22         }23 24         public InfiniteListView()25         {26             ItemAppearing += InfiniteListView_ItemAppearing;27         }28 29         private void InfiniteListView_ItemAppearing(object sender, ItemVisibilityEventArgs e)30         {31             if (!CanLoadMore)32             {33                 return;34             }35             var items = ItemsSource as IList;36 37             if (items != null && e.Item == items[items.Count - 1])38             {39                 if (LoadMoreCommand != null && LoadMoreCommand.CanExecute(null))40                     LoadMoreCommand.Execute(null);41             }42         }43     }

Spark機器學習環境搭建

我們來繼承listview,來實現它的ItemAppearing方法,然后再方法里一次次的判斷有沒有到最后一個item(說實話我不知道這對程序好不好,現在只是想到了實現),只要出現了最后一個item,就去執行綁定方法。

在頁面綁定中,需要

Spark機器學習環境搭建

<ContentPage             xmlns:common="clr-namespace:XXX.Common;assembly=XXX"
            >
  <common:InfiniteListView 
                               CanLoadMore="{Binding IsLoadMore}"
                               LoadMoreCommand="{Binding LoadMoreLogCommand}">

   </common:InfiniteListView>

Spark機器學習環境搭建

So。。其實是不是很簡單?

簡單測試了一下,發現了一個問題。就是我的list數據,有分組,一個list里面可能會有多個list,那最后一個item豈不是永遠都是最外層的數據了?我把方法簡單的改了一下


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定襄县| 丰原市| 武强县| 宜丰县| 旬阳县| 赤水市| 金沙县| 威远县| 滕州市| 赤峰市| 稻城县| 交口县| 剑河县| 青阳县| 仲巴县| 敖汉旗| 晋江市| 林芝县| 青海省| 榆社县| 登封市| 云浮市| 金塔县| 浑源县| 南开区| 民和| 鄂伦春自治旗| 长子县| 阿拉善左旗| 乐清市| 福建省| 三穗县| 会同县| 新巴尔虎左旗| 乐安县| 晋中市| 特克斯县| 德格县| 兴山县| 中阳县| 四川省|