zoukankan      html  css  js  c++  java
  • Xamarin Android ListView 控件使用

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

    create the listitem class ,eg;

    public class ColorItem
        {
            public string ColorName { get; set; }
            public string Code { get; set; }
            public Android.Graphics.Color Color { get; set; }
    
        }
    

    create Adapter class: 

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

    public class ColorAdapter : BaseAdapter<ColorItem>
        {
    
            List<ColorItem> items;
            Activity context;
            public ColorAdapter(Activity context, List<ColorItem> items) : base()
            {
                this.context = context;
                this.items = items;
            }
            public override ColorItem this[int position] => items[position];
    
            public override int Count => items.Count;
    
            public override long GetItemId(int position)
            {
                return position;
            }
    
            public override View GetView(int position, View convertView, ViewGroup parent)
            {
                var item = items[position];
    
                View view = convertView;
                if (null == view)
                {
                    view = context.LayoutInflater.Inflate(Resource.Layout.ListItem,null);
    
                }
    
                view.FindViewById<TextView>(Resource.Id.textView1).Text = item.ColorName;
                view.FindViewById<TextView>(Resource.Id.textView2).Text = item.Code;
                view.FindViewById<ImageView>(Resource.Id.imageView1).SetBackgroundColor(item.Color);
    
                return view;
            }
        }

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

    public class MainActivity : Activity
        {
            List<ColorItem> colorItems = new List<ColorItem>();
            ListView listView = null;
            protected override void OnCreate(Bundle savedInstanceState)
            {
                base.OnCreate(savedInstanceState);
    
                // Set our view from the "main" layout resource
                SetContentView(Resource.Layout.Main);
                listView = FindViewById<ListView>(Resource.Id.myListView);
    
    
                colorItems.Add(new ColorItem() { Color = Android.Graphics.Color.DarkRed,ColorName="Dark Red",Code="8B0000"});
                colorItems.Add(new ColorItem() { Color = Android.Graphics.Color.SlateBlue, ColorName = "Slate Blue", Code = "Ga5ACD" });
                colorItems.Add(new ColorItem() { Color = Android.Graphics.Color.ForestGreen, ColorName = "Forest Green", Code = "228B22" });
    
                listView.Adapter = new ColorAdapter(this,colorItems);
            }
        }

    运行效果如下:

  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/caodaiming/p/7788975.html
Copyright © 2011-2022 走看看