Xamarin Android ListView control, xamarinandroid

Source: Internet
Author: User

Xamarin Android ListView control, xamarinandroid

The ListView control is commonly used in projects. The example is as follows:

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:

The Adapter class must implement BaseAdapter and be specified in GetView method to customize the page of ListItem. Obtain the value of the control in 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;        }    }

Add the ListView control in Main. axml. The background code is as follows;

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

The running effect is as follows:

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.