Android SimpleAdapter

1.MainActivity.java

public class MainActivity extends Activity {
	private ListView listView;
	private SimpleAdapter simp_adapter;
	private List<Map<String, Object>> dataList;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

	 /*	1.context:上下文对象
		2.data:数据源(List<? extents Map<String,?

>> data)一个Map所组成的List集合.
		每个Map都相应ListView列表中的一行.
		每个Map(键-值对)中的键必须包括全部在from中所指定的键
		3.resource:列表项的布局文件ID
		4.from:Map中的键名
		5.to:绑定数据视图中的ID,与FROM成相应关系
		*/

		listView = (ListView)findViewById(R.id.listView);
		//1.新建适配器
		dataList = new ArrayList<Map<String,Object>>();
		//2.适配器载入数据源
		simp_adapter = new SimpleAdapter(this, getData(),R.layout.item,
				new String[] {"image","text"}, new int[]{R.id.image,R.id.text});
		//视图载入适配器
		listView.setAdapter(simp_adapter);
	}

	public List<Map<String, Object>> getData(){
		for(int i = 0;i<20;i++){
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("image", R.drawable.ic_launcher);
			map.put("text", "Just a Demo."+i);
			dataList.add(map);

		}

		return dataList;
	}
}

2.activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</RelativeLayout>

3.item.xml

<?xml version="1.0" encoding="utf-8"?

>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Demo"
        android:textColor="#000000"
        android:textSize="20sp" />

</LinearLayout>

效果图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hhb3NoZW55dXRvdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

时间: 2024-11-13 02:30:51

Android SimpleAdapter的相关文章

Android - SimpleAdapter适配器支持的组件及Listview模拟下载

本来这周想写三篇的,结果这第一篇就不知道该如何起笔.语言表达能力真的需要提高啊.其实有好多想写的,最近这几天又接触到了以前听过但是没有去考虑的一些点.这篇的起因曾经做过一道题,我当时很不理解,我看有评论还是很多跟我当时想法一样的,一直没来得及去追究,终于还是放心不下,去看了一下,发现我错了.原题如下: 使用SimpleAdapter作为 ListView的适配器,行布局中支持下列哪些组件? TextView ProgressBar CompoundButton ImageView 当时我毫不犹豫

Android SimpleAdapter源码解析

SimpleAdapter: public class SimpleAdapter extends BaseAdapter implements Filterable { private int[] mTo; // 指向布局里面控件的id 比如:R.id.btn private String[] mFrom; // 数据来源,来自Map里面的key private ViewBinder mViewBinder;// 接口类型,里面有个setViewValue方法,用于出现特殊类型控件比如:dra

Android SimpleAdapter ListView (锁定手机,解锁手机的列表)

SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局. 构造方法: SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) 参数context:上下文,比如this.关联SimpleAdapter运行的视图上下文 参数data:Map列表,列表要显示的数据,这部分需要自己实现,类型要与上面的一致,每条项目要

Android SimpleAdapter的参数

1.作用是ArrayList和 ListView的桥梁.这个ArrayList里边的每一项都是一个Map<String,?>类型.       ArrayList当中的每一项 Map对象都和ListView里边的每一项进行数据绑定一一对应. 2.SimpleAdapter的构造函数: SimpleAdapter(Context  context, List<? extends Map<String, ?>>  data, int resource, String[]  

Android SimpleAdapter 中添加按钮响应事件,getView的重写

Andriod 里面的ListView是一个显示列表数据的控件,常用适配器SimpleAdapter进行绑定,绑定代码如下: ListView lstView = (ListView) this.findViewById(R.id.listView1); SimpleAdapter adapter=new SimpleAdapter(context, data, resource, from, to); lstView.setAdapter(adapter); ListView 列表中的元素的单

Android常用Adapter用例(二)

Android适配器之-----SimpleAdapter 结构 继承关系 public interface SpinnerAdapter extends Adapter java.lang.Object android.widget.BaseAdapter android.widget. SpinnerAdapter 类概述 这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图.你可以指定数据支持的列表如ArrayList组成的Map.在ArrayList中的每个条目对应List

原创Android游戏--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用

--------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添加的功能,以及一些可改进的地方,于是准备继续完善此游戏,顺便学Android了. 本次更新信息如下: 1.改正了随机数生成算法,更正了不能产生数字'9'的bug 2.增加了数据存储与IO的内容,使用了SharedPreferences保存数据 3.保存数据为: 总盘数,猜中的盘数 4.使用了Simp

Android学习---ListView的点击事件,simpleAdapter和arrayadapter的原理和使用 - Hi_Amos

如题,本文将介绍 listview的点击事件,simpleAdapter和arrayadapter的原理和使用. 1.ListView的注册点击事件 //注册点击事件 personListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { /** * * @param parent 当前ListView * @param view 代表当前被点击的条目 * @param position 当前条目的位置 * @p

学习Android之SimpleAdapter显示网络图片

效果图: 此程序主要的知识点是:SimpleAdapter本身是不支持网络图片的, 如果在Map.put(a,b)中 b为一个Bitmap,程序不会报红色字体,而是在控制台输出绿色的字体,如下 05-10 15:46:45.474: I/System.out(846): resolveUri failed on bad bitmap uri: [email protected] 要想实现显示网络图片其实很简单,使用SimpleAdapter中的方法simpleAdapter.setViewBin