Xamarin Android ListView 控件使用

【Xamarin Android ListView 控件使用】生也有涯,知也无涯。这篇文章主要讲述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); } }

运行效果如下:
Xamarin Android ListView 控件使用

文章图片

 

    推荐阅读