在项目中通常用到了ListView控件,示例如下:

create the listitem class ,eg;

  1. public class ColorItem
  2. {
  3. public string ColorName { get; set; }
  4. public string Code { get; set; }
  5. public Android.Graphics.Color Color { get; set; }
  6.  
  7. }

create Adapter class:

Adapter类需要实现BaseAdapter, 并且需要在GetView method中指定,自定义ListItem的页面。得到listitem,中的控件值进行给值。

  1. public class ColorAdapter : BaseAdapter<ColorItem>
  2. {
  3.  
  4. List<ColorItem> items;
  5. Activity context;
  6. public ColorAdapter(Activity context, List<ColorItem> items) : base()
  7. {
  8. this.context = context;
  9. this.items = items;
  10. }
  11. public override ColorItem this[int position] => items[position];
  12.  
  13. public override int Count => items.Count;
  14.  
  15. public override long GetItemId(int position)
  16. {
  17. return position;
  18. }
  19.  
  20. public override View GetView(int position, View convertView, ViewGroup parent)
  21. {
  22. var item = items[position];
  23.  
  24. View view = convertView;
  25. if (null == view)
  26. {
  27. view = context.LayoutInflater.Inflate(Resource.Layout.ListItem,null);
  28.  
  29. }
  30.  
  31. view.FindViewById<TextView>(Resource.Id.textView1).Text = item.ColorName;
  32. view.FindViewById<TextView>(Resource.Id.textView2).Text = item.Code;
  33. view.FindViewById<ImageView>(Resource.Id.imageView1).SetBackgroundColor(item.Color);
  34.  
  35. return view;
  36. }
  37. }

Main.axml添加ListView控件。后台代码如下;

  1. public class MainActivity : Activity
  2. {
  3. List<ColorItem> colorItems = new List<ColorItem>();
  4. ListView listView = null;
  5. protected override void OnCreate(Bundle savedInstanceState)
  6. {
  7. base.OnCreate(savedInstanceState);
  8.  
  9. // Set our view from the "main" layout resource
  10. SetContentView(Resource.Layout.Main);
  11. listView = FindViewById<ListView>(Resource.Id.myListView);
  12.  
  13. colorItems.Add(new ColorItem() { Color = Android.Graphics.Color.DarkRed,ColorName="Dark Red",Code="8B0000"});
  14. colorItems.Add(new ColorItem() { Color = Android.Graphics.Color.SlateBlue, ColorName = "Slate Blue", Code = "Ga5ACD" });
  15. colorItems.Add(new ColorItem() { Color = Android.Graphics.Color.ForestGreen, ColorName = "Forest Green", Code = "228B22" });
  16.  
  17. listView.Adapter = new ColorAdapter(this,colorItems);
  18. }
  19. }

运行效果如下:

Xamarin Android ListView 控件使用的更多相关文章

  1. 如何清空android ListView控件的内容

    第一种方法: listView.setAdapter(null); 第二种方法: listAdapter.clear(); listAdapter.notifyDataSetChanged() ; 满 ...

  2. xamarin android ListView手动分组

    xamarin的listview控件其实自带有分组方法,关于xamarin listview的自带分组方法请自行参考官方文档,我这里只写自己写的分组方法.xamarin自带的分组好是好,功能多,但是加 ...

  3. Android中ListView控件的使用

    Android中ListView控件的使用 ListView展示数据的原理 在Android中,其实ListView就相当于web中的jsp,Adapter是适配器,它就相当于web中的Servlet ...

  4. Android中ListView 控件与 Adapter 适配器如何使用?

    一个android应用的成功与否,其界面设计至关重要.为了更好的进行android ui设计,我们常常需要借助一些控件和适配器.今天小编在android培训网站上搜罗了一些有关ListView 控件与 ...

  5. android中ListView控件&&onItemClick事件中获取listView传递的数据

    http://blog.csdn.net/aben_2005/article/details/6592205 本文转载自:android中ListView控件&&onItemClick ...

  6. Android:控件ListView列表项与适配器结合使用

    Listview是用来展示一些重复性的数据用的,比如一些列表集合数据展示到手机,需要适配器作为载体获取数据,最后将数据填充到布局. ListView里面的每个子项Item可以使一个字符串,也可以是一个 ...

  7. android中ListView控件

    今天学习了ListView控件和页面跳转,下面大致介绍下: 第一步:创建显示内容的文件vlist.xml: <?xml version="1.0" encoding=&quo ...

  8. 【Android基础】listview控件的使用(4)-----自定义布局的listview的使用

    前面我介绍了listview控件的不同用法,但是这些用法在实际的开发项目中是不足以满足需求的,因为前面的几种用法只能简单的显示文本信息,而且布局都比较单一,很难做出复杂的结果,在实际的开发项目中,90 ...

  9. 【Android基础】listview控件的使用(3)------Map与SimpleAdapter组成的多显示条目的Listview

    前面介绍的两种listview的使用都是最基础的,所以有很大的局限性,比如只能在一个item(即每一行的条目)中显示一个文本信息,这一篇我将介绍Map与SimpleAdapter组成的多显示条目的Li ...

随机推荐

  1. ERP项目应该由谁来主导?

    前段时间在朋友圈看到了别人分享的公众号,主要是谈ERP项目应该由谁来主导的问题.文章的观点认为应该由哪个部门主导ERP的判断标准如下: 1.应该由一个期望上进的部门主导ERP项目: 2.应该由一个有话 ...

  2. VirtualBox网络连接方式

    VirtualBox图形界面下有四种网络接入方式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) 2.Bridged Adapter 桥接 ...

  3. 2018-05-27-computer-using-hints-电脑使用帮助[持续更新]

    layout: post title: 2018-05-27-computer-using-hints-电脑使用帮助 key: 20180527 tags: ubuntu cuda cudnn ten ...

  4. Spark性能优化【Stack Overflow】

    一.异常情况 Stack Overflow 二.异常分析 之所以会产生Stack Overflow,原因是在Stack方法栈中方法的调用链条太长的原因导致的,一般情况有两种: 1.过于深度的递归[常见 ...

  5. Linux 中yum的配置

    1.进入yum的路径 cd /etc/yum.repos.d 2.将原始的repo文件移入一个新建的backup文件下做备份 mv CentOS* backup 3.在/etc/yum.repos.d ...

  6. 语句调优基础知识-set statistics profile on

    set statistics profile on 获取语句真实的执行计划信息 set statistics profile on go select distinct Productid,unitp ...

  7. Turtle绘制带颜色和字体的图形(Python3)

    转载自https://blog.csdn.net/wumenglu1018/article/details/78184930 在Python中有很多编写图形程序的方法,一个简单的启动图形化程序设计的方 ...

  8. June 7. 2018 Week 23rd Thursday

    Half is worse than none at all. 一知半解比一无所知更痛苦. From Westworld. If we go looking for the truth, get th ...

  9. centos7下安装docker(17docker监控---docker自带监控命令)

    Docker自带的监控子命令 1.docker ps:docker ps -a这是我们常用的查看容器状态的命令 docker  container ls和docker ps的功能一样 2.docker ...

  10. centos7下安装docker(16.1docker跨主机存储--Rex-Ray)

    一.Rex-Ray以standalone进程的方式运行在docker主机上,安装方法很简单:在docker1和docker2上运行如下命令: curl -sSL https://dl.bintray. ...