simplerAdapter 的使用的步骤:
1、根据需要定义ListView每行所实现的布局。 2、定义一个JavaDictionary构成的列表集合,将数据以键值对的方式存放在里面。 3、构造SimplerAdapter对象。 4、将ListView绑定到SimplerAdapter上。
布局:SimpleAdapterListView.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:minWidth="25px" android:minHeight="25px"> <ImageView android:src="@android:drawable/ic_menu_gallery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView1" android:layout_margin="10dip" /> <LinearLayout android:orientation="vertical" android:minWidth="25px" android:minHeight="25px" android:layout_width="match_parent" android:layout_height="fill_parent" android:id="@+id/linearLayout1"> <TextView android:text="Text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtTitle" android:textSize="25dip" /> <TextView android:text="Text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtDesc" /> </LinearLayout><!--或android:id="@id/android:list" android:id="@android:id/list" <ListView android:id="@id/android:list" android:layout_width="match_parent" android:layout_height="fill_parent" />--></LinearLayout>
逻辑:SimpleAdapterListView.cs
using System;
using System.Collections.Generic;
using System.Linq; using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
namespace App2
{
[Activity(Label = "SimpleAdapterListView")]
public class SimpleAdapterListView : ListActivity
{
//simplerAdapter 的使用的步骤:
//1、根据需要定义ListView每行所实现的布局。
//2、定义一个JavaDictionary构成的列表集合,将数据以键值对的方式存放在里面。
//3、构造SimplerAdapter对象。
//4、将ListView绑定到SimplerAdapter上。
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
//SetContentView(Resource.Layout.SimpleAdapterListView);
//定义一个JavaDictionary构成的列表集合,将数据以键值对的方式存放在里面
List<IDictionary<string, object>> list = new List<IDictionary<string, object>>();
JavaDictionary<string, object> item1 = new JavaDictionary<string, object>();
item1.Add("img",Resource.Drawable.feiji);
item1.Add("title","飞机");
item1.Add("desc", "大飞机");
JavaDictionary<string, object> item2 = new JavaDictionary<string, object>();
item2.Add("img", Resource.Drawable.feiji);
item2.Add("title", "飞机");
item2.Add("desc", "大飞机");
JavaDictionary<string, object> item3 = new JavaDictionary<string, object>();
item3.Add("img", Resource.Drawable.feiji);
item3.Add("title", "飞机");
item3.Add("desc", "大飞机");
JavaDictionary<string, object> item4 = new JavaDictionary<string, object>();
item4.Add("img", Resource.Drawable.feiji);
item4.Add("title", "飞机");
item4.Add("desc", "大飞机");
JavaDictionary<string, object> item5 = new JavaDictionary<string, object>();
item5.Add("img", Resource.Drawable.feiji);
item5.Add("title", "飞机");
item5.Add("desc", "大飞机");
JavaDictionary<string, object> item6 = new JavaDictionary<string, object>();
item6.Add("img", Resource.Drawable.feiji);
item6.Add("title", "飞机");
item6.Add("desc", "大飞机");
list.Add(item1);
list.Add(item2);
list.Add(item3);
list.Add(item4);
list.Add(item5);
list.Add(item6);
//第四个参数:通过键获取值,即将JavaDictionary<string, object>中的键组成一个数组。
//第五个参数:将要绑定的控件ID组成一个新的数组。
this.ListView.Adapter=new SimpleAdapter(this, list, Resource.Layout.SimpleAdapterListView,new string[] { "img", "title", "desc" },new int[] { Resource.Id.imageView1,Resource.Id.txtTitle,Resource.Id.txtDesc });
// Create your application here
this.ListView.ItemClick += (sender,e) =>
{
string strValue = list[e.Position]["desc"].ToString();
Toast.MakeText(this,strValue,ToastLength.Long).Show();
};
}
}
}