Xamarin Android ListView 控制項使用

來源:互聯網
上載者:User

標籤: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 控制項使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.