网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

ListView的SimpleAdapter详解

ListView的两个职责:1、将数据添加到布局中;2、响应用户的选择点击操作

新源网站建设公司创新互联建站,新源网站设计制作,有大型网站制作公司丰富经验。已为新源上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的新源做网站的公司定做!

ListView的SimpleAdapter详解

点击任一选项时

ListView的SimpleAdapter详解

响应用户的点击操作改变标题栏显示

源代码ListViewSimpleAdtActivity.java

public class ListViewSimpleAdtActivity extends Activity {
		// private List data = new ArrayList();
		@Override
		public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.listv_sa);  
			//获得Layout里面的ListView  
			ListView list = (ListView) findViewById(R.id.ListView01);  
			//生成适配器的Item和动态数组对应的元素
			SimpleAdapter listItemAdapter = new SimpleAdapter(
					this,   
					getData(),   
					R.layout.listitem,
					new String[]{"img","title","info"},
					new int[]{R.id.img,R.id.title,R.id.info});			
			//添加并且显示  
			list.setAdapter(listItemAdapter); 
			//添加单击监听  
			list.setOnItemClickListener(new OnItemClickListener() {  
                @Override  
                public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {               	
					Map clkmap = (Map) arg0.getItemAtPosition(arg2);
                	setTitle(clkmap.get("title").toString()+"的网址为:"+clkmap.get("info").toString());  
                }  
            });  
	    }
	    //生成多维动态数组,并加入数据  
		private List> getData() {
			ArrayList> listitem = new ArrayList>();
			
			Map map = new HashMap();
			map.put("img", R.drawable.tb_baidu);
			map.put("title", "百度");
			map.put("info", "http://www.baidu.com/");
			listitem.add(map);

			map = new HashMap();
			map.put("img", R.drawable.tb_sina);
			map.put("title", "新浪");
			map.put("info", "http://www.sina.com.cn/");
			listitem.add(map);

			map = new HashMap();
			map.put("img", R.drawable.tb_tencent);
			map.put("title", "腾讯");
			map.put("info", "http://www.qq.com/");
			listitem.add(map);
			
			map = new HashMap();
			map.put("img", R.drawable.tb_netease);
			map.put("title", "网易");
			map.put("info", "http://www.163.com/");
			listitem.add(map);
			
			return listitem;
		}
		
}

配置文件listitem.xml



    
    
    
     
           
                 
            
    

listv_sa.xml


	
      

SimpleAdapter构造函数为:

public SimpleAdapter (Context context, List> data, int resource,  String[] from, int[] to)

重点介绍SimpleAdapter各参数的含义:

第一个context,上下文,SimpleAdapter所要运行关联到的视图,就是你这个SimpleAdapter所在的Activity(一般而言),所以这个参数一般是“前Activity的名字.this”

第二个是一个泛型只要是一个List就行,这一般会想到是ArrayList,而他内部存储的则是Map或者继承自Map的对象,比如HashMap,这里是作为数据源,而且每一个ArraList中的一行就代表着呈现出来的一行,Map的键就是这一行的列名,值也是有列名的。

第三个资源文件,就是说要加载这个两列所需要的视图资源文件,一般在Layout建立相应的.xml文件,你可以左边一个TextView右边一个TextView,目的在于呈现左右两列的值!

第四个参数是一个String数组,主要是将Map对象中的名称映射到列名,一一对应

第五个是将第四个参数的值一一对象的显示(一一对应)在接下来的int形的id数组中,这个id数组就是layout的xml文件中命名id形成的唯一的int型标识符

这样也就达到了数据的列表呈现!



网站栏目:ListView的SimpleAdapter详解
本文网址:http://bjjierui.cn/article/pcpsoj.html

其他资讯