• 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);
            }
        }

    运行效果如下:

  • 相关阅读:
    Linux安装Oracle 10g
    Linux安装Oracle 10g
    如何利用BI实现人力资源可视化管理
    mongdb修改密码
    如何利用BI实现人力资源可视化管理
    jquery获取浏览器和屏幕的高度和宽度
    perl概述
    'CheckLicensesAndNotify' has encountered a problem.
    Caused by: java.sql.SQLException: The MySQL server is running with the --read-only option so it cann
    Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Tim
  • 原文地址:https://www.cnblogs.com/caodaiming/p/7788975.html
Copyright © 2020-2023  润新知