使用ListView进行数据绑定

第一步:新建一个类,用于存储显示字段。

namespace ListViewDataBIndDemo
{public class Person{public int Id { get; set; }public string Name { get; set; }public string IdCard { get; set; }public string Sex { get; set; }public string Age { get; set; }}
}

第二步:在Mian.axml 中绘制界面

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:layout_marginTop="10dp"><TextViewandroid:text="姓名"android:textSize="23sp"android:layout_width="150dp"android:layout_height="match_parent" /><EditTextandroid:id="@+id/personName"android:layout_width="280dp"android:layout_height="wrap_content"android:singleLine="true" /></LinearLayout><HorizontalScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="10dp"><LinearLayoutandroid:id="@+id/LinearLayoutdasb2"android:layout_width="wrap_content"android:orientation="vertical"android:layout_height="match_parent"><LinearLayoutandroid:id="@+id/LinearLayoutdasb3"android:layout_width="wrap_content"android:orientation="horizontal"android:layout_height="27dp"android:background="#C0C0C0"><TextViewandroid:text="序号"android:layout_width="50dp"android:gravity="center"android:textColor="#000000"android:textSize="20sp"android:layout_height="wrap_content" /><TextViewandroid:text="姓名"android:layout_width="100dp"android:gravity="center"android:textSize="20sp"android:textColor="#000000"android:layout_height="wrap_content" /><TextViewandroid:text="身份证号"android:layout_width="250dp"android:gravity="center"android:textSize="20sp"android:textColor="#000000"android:layout_height="wrap_content" /><TextViewandroid:text="性别"android:layout_height="wrap_content"android:gravity="center"android:textSize="20sp"android:textColor="#000000"android:layout_width="80dp" /><TextViewandroid:text="年龄"android:layout_width="80dp"android:gravity="center"android:textColor="#000000"android:textSize="20sp"android:layout_height="wrap_content" /></LinearLayout><LinearLayoutandroid:id="@+id/LinearLayout54"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FFFAF0"><ListViewandroid:id="@+id/listViewPerson"android:minWidth="30dp"android:minHeight="30dp"android:layout_width="550dp"android:layout_height="match_parent"android:divider="#000000"android:dividerHeight="1dp" /></LinearLayout></LinearLayout></HorizontalScrollView>
</LinearLayout>

第三步:创建一个 Person_Items.axml 用于存放数据

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="match_parent"android:padding="5dip"><TextViewandroid:id="@+id/item_id"android:layout_width="40dp"android:layout_height="wrap_content"android:textColor="#000000"android:layout_marginLeft="20dp"android:gravity="left"android:textSize="20sp"  /><TextViewandroid:id="@+id/item_name"android:layout_width="90dp"android:layout_height="wrap_content"android:textColor="#000000"android:layout_marginLeft="20dp"android:gravity="left"android:textSize="20sp" /><TextViewandroid:id="@+id/item_idcard"android:layout_width="240dp"android:layout_height="wrap_content"android:textColor="#000000"android:gravity="left"android:layout_marginLeft="10dp"android:textSize="20sp"  /><TextViewandroid:id="@+id/item_sex"android:layout_width="70dp"android:layout_height="wrap_content"android:textColor="#000000"android:gravity="left"android:layout_marginLeft="10dp"android:textSize="20sp"  /><TextViewandroid:id="@+id/item_age"android:layout_width="70dp"android:layout_height="wrap_content"android:textColor="#000000"android:gravity="left"android:layout_marginLeft="10dp"android:textSize="20sp" />
</LinearLayout>

第四步:创建一个继承于BaseAdapter的类名为ListViewAdapter

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;namespace ListViewDataBIndDemo
{public class ListViewAdapter:BaseAdapter<Person>{Activity context;public List<Person> mings;public ListViewAdapter(Activity context, List<Person> mings){this.context = context;this.mings = mings;}public override int Count{get{return this.mings.Count;}}public override long GetItemId(int position){return position;}public override Person this[int position]{get{return this.mings[position];}}public override View GetView(int position, View convertView, ViewGroup parent){var itme = this.mings[position];convertView = LayoutInflater.From(context).Inflate(Resource.Layout.Person_Items, parent, false);TextView item_id = convertView.FindViewById<TextView>(Resource.Id.item_id);TextView item_name = convertView.FindViewById<TextView>(Resource.Id.item_name);TextView item_idcard = convertView.FindViewById<TextView>(Resource.Id.item_idcard);TextView item_sex = convertView.FindViewById<TextView>(Resource.Id.item_sex);TextView item_age = convertView.FindViewById<TextView>(Resource.Id.item_age);item_id.Text = (position + 1).ToString();item_name.SetText(itme.Name, TextView.BufferType.Normal);item_idcard.SetText(itme.IdCard, TextView.BufferType.Normal);item_sex.SetText(itme.Sex, TextView.BufferType.Normal);item_age.SetText(itme.Age, TextView.BufferType.Normal); return convertView;}}
}

第五步:在MainActivity进行对数据绑定

using Android.App;
using Android.Widget;
using Android.OS;
using System.Collections.Generic;
using System;namespace ListViewDataBIndDemo
{[Activity(Label = "ListViewDataBIndDemo", MainLauncher = true, Theme = "@android:style/Theme.Holo.Light")]public class MainActivity : Activity{private List<Person> main_data = new List<Person>();private Person person;ListView lv_Person;EditText personName;protected override void OnCreate(Bundle savedInstanceState){base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main);lv_Person = FindViewById<ListView>(Resource.Id.listViewPerson);personName = FindViewById<EditText>(Resource.Id.personName);for (int i = 1; i <= 20; i++){person = new Person();person.Id = i;person.Name = "张三" + i.ToString();person.IdCard = "20172619979999" + new Random().Next(1000, 10000).ToString();person.Sex = new Random().Next(1, 3).ToString() == "1" ? "男" : "女";person.Age = new Random().Next(15, 30).ToString();main_data.Add(person);}lv_Person.Adapter = new ListViewAdapter(this, main_data);lv_Person.ItemClick += (s, e) =>{Toast.MakeText(this, "姓名:"+main_data[e.Position].Name +"\n身份证号:"+main_data[e.Position].IdCard, ToastLength.Long).Show();};//搜索姓名personName.TextChanged += (s, e) =>{List<Person> per = selectList(main_data, personName.Text);lv_Person.Adapter = new ListViewAdapter(this, per);};}private List<Person> selectList(List<Person> list, string value){ return list.FindAll(delegate (Person info){ if ((!string.IsNullOrEmpty(info.Name) && info.Name.Contains( value))){return true;} else{return false;}});}}
}

效果图:

链接: https://pan.baidu.com/s/1MRQjgvAuY5M96cbBi895-g

密码: i4fh

转载于:https://www.cnblogs.com/swjian/p/9145003.html

Xamarin.Android 使用ListView绑定数据相关推荐

  1. C#中WPF ListView绑定数据的实例详解

    C#中WPF ListView绑定数据的实例详解 发布时间: 2019-03-09 19:29:46 来源: 互联网 作者: 晨曦888 栏目: C#教程 点击: 298 这篇文章主要介绍了C#中WP ...

  2. 九、android的ListView实现数据列表展示

    基于上一篇第八节的数据库操作为基础,对数据库中的内容在android界面上进行列表展示 1.工程结构: 列表显示示意图: 列表显示效果图: 2.界面的列表展示配置文件 item.xml: <?x ...

  3. Android在ListView滑动数据混乱

    我相信做过Android应用程序开发或多或少都遇到了这个问题.或者是在ListView数据损坏幻灯片事件.要么GridView数据损坏幻灯片事件. 让我们来看看一个网友写的文章,个人感觉还不错的文章: ...

  4. Xamarin只言片语4——Xamarin.Android百度地图绑定

    先下载百度地图http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lb ...

  5. C# listView 绑定数据

    for (int i = 0; i < dt.Rows.Count; i++) {ListViewItem lvi = new ListViewItem(dt.Rows[i][0].ToStri ...

  6. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

  7. Xamarin.Android开发实践(十四)

    原文:Xamarin.Android开发实践(十四) Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xama ...

  8. android开发 listview 头部 轮播,listview添加的头部布局超过一屏头部内容显示不全...

    headView的实际高度超过一个屏幕,但是显示的结果只有一个屏幕,超过一个屏幕高度意外的部分显示不全. 只使用了listView.getRefreshable().addHeadView(headV ...

  9. android ListView布局之二(是用simpleAdapter绑定数据)

    main.xml主布局文件,代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

最新文章

  1. 网易有毛病,我的账号被锁了,去解锁时候又几把提示不成功,浪费劳资感情啊
  2. 趣文:如果网络浏览器是妹纸
  3. Windows服务安装、卸载方法,卸载后在服务列表中仍显示问题,指定的服务已经标记为删除
  4. python检测文件夹中新增文件_python检测文件夹变化,并拷贝有更新的文件到对应目录...
  5. MyBatisPlus介绍入门以及项目集成MyBatisPlus
  6. [回归分析][14]--Logistic回归
  7. C 语言实例 - 判断三边能否构成三角形
  8. 在Python中处理大型文件的最快方法
  9. 第一课 第二节 集成开发环境
  10. lua中table函数库
  11. mysql如何安装sys,linux下如何安装新版的mysql
  12. Java入门教程——下载JAVA
  13. 印象笔记如何html导出数据,印象笔记如何导出导入笔记?
  14. 雨流计数法的matlab实现,采用三点法与四点法
  15. matlab 直方图(柱状图) 及 CDF曲线
  16. Contrastive Adaptation Network for Unsupervised Domain Adaptation
  17. mysql 错误码1236,MySQL错误:Last_IO_Errno:1236处理办法
  18. android分享微信朋友圈带编辑功能吗,终于被我等到了,微信新版本能编辑别人的朋友圈啦!...
  19. 免费的JPEG 恢复软件 - 照片删除了怎么恢复?
  20. 微信公众平台搭建与开发揭秘

热门文章

  1. 51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串
  2. 二叉树的锯齿形层次遍历—leetcode103
  3. 使用Letax引用文献一直报错: LaTeX Error: Something‘s wrong--perhaps a missing \item
  4. [攻防世界 pwn]——pwn-200
  5. [Jarvis OJ - PWN]——[61dctf]fm
  6. 递归算法——汉诺塔问题
  7. 计算机组成原理 控制器.ppt,计算机组成原理(CPU的控制器部件)课件.ppt
  8. 事务处理总结【JDBC事务|JTA事务|容器事务
  9. Weblogic下创建JMS消息服务
  10. [导入]70后、80后、90后的区别