Xamarin Android ListView 控件使用
Posted 关注移动端开发及后台业务技术的发展
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 控件使用的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin 中 ListView 的不同视图形式 Android 和 UWP
使用 LinearLayout 向 ListView 添加标题,Listview 被推离屏幕(Xamarin Android)
Listview Itemclick事件未触发android xamarin
Xamarin.Android 使用 SimpleAdapter 打造 ListView 万能适配器