码迷,mamicode.com
首页 > 移动开发 > 详细

Xamarin Android ListView 控件使用

时间:2017-11-05 22:29:15      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:har   log   span   graphics   turn   页面   str   dap   protect   

在项目中通常用到了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);
        }
    }

运行效果如下:

技术分享

 

Xamarin Android ListView 控件使用

标签:har   log   span   graphics   turn   页面   str   dap   protect   

原文地址:http://www.cnblogs.com/caodaiming/p/7788975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!