最近在研究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啊案例啊什么的,我好学习一下。

  外网的也可以。

  最后,谢谢大家啦~

Xamarin.Forms ListView点击按钮刷新最新数据的更多相关文章

  1. 菜鸟的Xamarin.Forms前行之路——按钮的按下抬起事件的监控(可扩展至其他事件)

    提问:监控按钮的点击事件,可以通过按钮的Click事件,或者Command绑定,那么如何监控按钮的按下与抬起,或者移动,长按,双击等事件? 解决方法:各个平台自定义渲染依赖注入. 共享项目PCL: 1 ...

  2. jQuery 点击按钮刷新页面

    //页面加载时绑定按钮点击事件 $(function () { $("#按钮id").click(function () { refresh(); }); }); //点击按钮调用 ...

  3. Xamarin.Forms listview中的button按钮,实现带着参数返回上一级页面

    今天在做列表显示的时候遇到一个问题,就是在ListView中如何才能让一个button的按钮工作并且包含参数呢? 其实有点类似于rep里的控件无法起获取一样.在Xamarin中,当你button绑定事 ...

  4. JavaScript 弹出窗体点击按钮返回选择数据的实现

    首先是父页面的代码: <head runat="server"> <title>无标题页</title> <%-- <script ...

  5. yii防止延迟用户多次点击按钮重复提交数据

    是不是被用户的行为所困扰? 一. 一个表单用户点击提交按钮了N次,这也导致了数据提交了N次. 为了此受到了测试的欺辱,受到了老板的批评? 不用怕,它就是来拯救你的. 第一步:打开命令行,敲入 comp ...

  6. GrideVlew提供点击按钮添加新数据,单击项目修改,长按删除功能

    package com.example.wang.myapplication; import android.app.AlertDialog; import android.content.Dialo ...

  7. 关于xamarin.forms 中 list 的loadmore

    前言 最近几天在研究上拉加载啊,下拉刷新啊什么的.然而坑爹的事情总是那么多.在xamarin.forms中,list自带的,并没有上拉加载的这个属性(难道当初他们封装方法时,就不会想到数据多了会咋整吗 ...

  8. Xamarin Forms:小马过河,王者归来

    因为我媳妇的原因,去年下半年从零开始学习Android原生开发,做了一个答题库app.整体给我的感觉是入门难度不大,前期折腾一番,大部分时间都是花在开发上面,其实任何一门语言都是如此. 今年我又有另一 ...

  9. Xamarin.Forms 开发资源集合(复制)

    复制:https://www.cnblogs.com/mschen/p/10199997.html 收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 S ...

随机推荐

  1. JS检测移动端横竖屏

    (function () {                                var supportOrientation = (typeof window.orientation == ...

  2. Return Largest Numbers in Arrays

    题目要求 右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组. 提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素. 答题思路 ...

  3. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  4. JAVASE02-Unit08: 文本数据IO操作 、 异常处理

    Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...

  5. app慢的可能情况需要优化

    网络请求超时的机制设置,发现如果设置3S太短,导致有一些服务不能成功请求到数据,每次都报超时.问题解决 1. 调大超时时间 2. 优化查询mysql http://blog.chinaunix.net ...

  6. querystring 解析url 查询字符串

    对前端同学来说,经常要碰到一种比较麻烦的情况,那就是url查询字符串的解析问题.说起来也不难,就是比较麻烦. 具体来处理这种情况的时候,相信有一部分同学就是针对具体项目中的需要的字符去正则匹配一下,业 ...

  7. U家面试prepare: Serialize and Deserialize Tree With Uncertain Children Nodes

    Like Leetcode 297, Serialize and Deserialize Binary Tree, the only difference, this is not a binary ...

  8. jQuery 菜单

  9. PAT——乙级真题1001代码

  10. z-index

    1.定位对象能够遮盖非定位对象,除非定位对象的z-index值为负数. 2.同层级定位对象z-index大的能够覆盖z-index值小的. 2.1  同层级的子集相互比较要先看父集(即同层级)的大小; ...