Xamarin.Android 使用ListView绑定数据
生活随笔
收集整理的這篇文章主要介紹了
Xamarin.Android 使用ListView绑定数据
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用ListView進行數(shù)據(jù)綁定
第一步:新建一個類,用于存儲顯示字段。
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>第三步:創(chuàng)建一個?Person_Items.axml 用于存放數(shù)據(jù)
<?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>第四步:創(chuàng)建一個繼承于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進行對數(shù)據(jù)綁定
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绑定数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python数据分析-数据准备
- 下一篇: android sina oauth2.