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

运行效果如下:

时间: 2024-11-03 21:47:10

Xamarin Android ListView 控件使用的相关文章

Android ListView控件的使用

如何做出下面的效果: 一. 先看下主界面的布局activity_main.xml:toolbar + ListView <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/a

Android——ListView控件

本篇介绍ListView控件,这是Android中比较重要也比较复杂的控件,这里只谈到使用ViewHolder机制优化即可. 一.ListView简介 ListView是Android系统中显示列表的控件,每个ListView都可以包含很多个列表项. 二.ListView的使用 概念不多说,直接来介绍使用方法. ListView中比较复杂的是数据适配器,其作用是把复杂的数据(数组.链表.数据库.集合等)填充在指定视图界面,是连接数据源和视图界面的桥梁.常见的Android原生的适配器有Array

如何清空android ListView控件的内容

============问题描述============ 代码如下: BaseAdapter  ba=new BaseAdapter() { public int getCount() { // TODO Auto-generated method stub return count; } public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } public long getItemI

五步学会Android的ListView控件

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">使用Android的列表控件有几点要注意: </span> <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&

【Android】解决Android的ListView控件滚动时背景变黑

[转载]解决Android的ListView控件滚动时背景变黑 如果大家在非黑色背景下使用ListView控件时,Android默认可能在滚动ListView时这个列表控件的背景突然变成黑色.这样可能导致程序的黑色的背景和主程序的主题既不协调.解决的方法Google在设计Android时也考虑了,在Layout的ListView中加入android:cacheColorHint="#00000000" 的属性即可. 如: <?xml version="1.0"

Android开发:ListView控件:给Item绑定了点击事件,却点击无效

一.问题引入 ListView控件:给Item绑定了点击事件,却点击无效. 二.解决方案 ListView使用了自定义布局文件,在布局文件中有button等控件时,这些控件获取焦点的级别比listView的item高,所以当点击item时,button等控件会优先获得点击焦点. 解决方法就是在布局文件根元素中添加属性: android:descendantFocusability="blocksDescendants" android:descendantFocusability De

Android高手进阶教程(二十八)之---Android ViewPager控件的使用(基于ViewPager的横向相册)!!!

分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloaderencoding 大家好,相信大家用的ListView控件一定很多的,是竖向滑动的,复用convertView,我们可以加载成千上万的数据,但有时候我们会有 这个需求比如相册,我们想横向滑动,并且数据有好多,这时候ViewPager控件就派上用场了,ViewPager使用时候我们需要导入第三方包 an

对Listview控件的效率优化

不管在Android平台还是IOS平台,Listview或者是类似控件,在数据显示方面都占据着相当重要的位置.而作为最重要的数据展示形式,Listview控件或者是类似的需要使用Adapter的控件的加载以及数据展示的效率和优化,就被摆在了一个很重要的位置,本篇文章主要给大家介绍,如何可以实现Listview控件的效率优化. 1.重用已经生成过的Item View 我们都知道,Listview的数据显示,少不了Adapter的设计,所以优化在重点都在如何设计Adapter中.而BaseAdapt

Android基础控件使用汇总

平时写代码总会遇到一些问题,准备写一个比较基础的控件使用汇总系列!本系列持续不定期更新,希望能够帮到需要的朋友!get! Android基础控件使用细节--TextView Android基础控件使用细节--Button Android基础控件使用细节--EditText Android基础控件使用细节--ImageView Android基础控件使用细节--WebView Android基础控件使用细节--ListView Android基础控件使用细节--Menu Android基础控件使用