隐藏

Xamarin.Forms ListView点击按钮刷新最新数据

发布:2021/10/20 13:36:40作者:管理员 来源:本站 浏览次数:1001

最近在研究Xamarin的东西,做到ListView遇到了一些瓶颈,像在数据庞大的情况下,该怎么针对ListView中的数据分组呢?


基于能力有限的问题,暂时写了一个只可以实现功能的临时解决方案,毕竟,样式和易用性啊还是有点。。。


废话不多说,直接上代码吧


首先我写了一个简单的ListView和一个Button按钮




    <StackLayout>

       <ListView x:Name="listviewData">

   

       </ListView>

       <Label x:Name="lblPageCount" TextColor="White"></Label>

       <Button Clicked="Button_OnClicked" Text="Next"/>

     </StackLayout>


后台的话,只是在构造函数中加入了默认数据




   public List<string> StrListData { get; set; }

           public int PageIndex { get; set; } //当前页

           public int PageSize { get; set; } //显示条数

           public int PageCount { get; set; } //总页数

           public int RecordCount { get; set; } //记录的总条数

   

     public ListTestPage()

           {

               InitializeComponent();

               List<string> strList = new List<string>();

               for (int i = 1; i <= 100; i++)

               {

                   strList.Add("Name" + i);

               }

               StrListData = strList;

               PageIndex = 0;

               PageSize = 10;

               PageCount = 100;

               this.lblPageCount.Text = (PageIndex + 1).ToString();

               List<string> strList2 = strList.GetRange(PageIndex, PageSize);

               this.listviewData.ItemsSource = strList2;

           }


因为我只是为了写一个小例子来测试一下,所以全部都写到一块去了,在MVVM下应该也不会有什么问题吧,还没来得及测试。。




     public void GetListData()

           {

               PageIndex++;

               int pageStart = PageIndex * PageSize;

               int pageEnd = (PageIndex + 1) * PageSize;

               this.lblPageCount.Text = (PageIndex + 1).ToString();

               List<string> strList2 = StrListData.GetRange(0, pageEnd);

               this.listviewData.ItemsSource = strList2;

           }

   

           private void Button_OnClicked(object sender, EventArgs e)

           {

               GetListData();

           }


然后这就是按钮的实现方法了。




其实我就是单纯的利用了ListView的GetRange。


最近还在研究更好的方法。


如果吧友有更好的方法和案例可以拿给小弟来参考一下的话,希望你们可以给我留言发一下网站demo啊案例啊什么的,我好学习一下。


外网的也可以。