ListView的Adapter使用 之 初学ArrayAdapter<String>

来源:互联网 发布:龙头rpg数据搜索 编辑:程序博客网 时间:2024/05/24 06:43

ListView是Android中经常会使用的东西,绑定数据对于初学者来说,尤其是刚接触编程的人来说,往往会觉得很难理解,我上大二的时候学的java,但是基本上相当于没有学,什么都没写过,真正接触编程就是开始上手学android,把这些记录下来,自己可以回头看下,也可以让新手更好的理解。高手绕过....

Android中Adapter我是这么理解的,是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到视图上面。

Adapter有很多种,有ArrayAdapter<T>,BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, SpinnerAdapter, WrapperListAdapter.

我在项目中用到过的就ArrayAdapter<T>, (数组也可以是对象数组),BaseAdapter(所有Adapter的基类),SimpleAdapter,CursorAdapter(数据来源是cursor),SimpleCursorAdapter,感觉有必要总结一下。

最基本的要数sdk官网上面给的这个代码例子了http://developer.android.com/resources/tutorials/views/hello-listview.html。

 

我自己写的一个例子,先上图,再贴上代码:

  1. package com.cz.list.demo; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.widget.ArrayAdapter; 
  6. import android.widget.ListView; 
  7.  
  8. public class ArrayListDemo extends Activity { 
  9.     private ListView listView; 
  10.     private String[] adapterData; 
  11.  
  12.     /** Called when the activity is first created. */ 
  13.     @Override 
  14.     public void onCreate(Bundle savedInstanceState) { 
  15.         super.onCreate(savedInstanceState); 
  16.         setContentView(R.layout.array_list_layout); 
  17.  
  18.         /* 找到这个listView */ 
  19.         listView = (ListView) findViewById(R.id.array_list); 
  20.  
  21.         /* 我们要在listView上面没条显示的数据,放到一个数组中 */ 
  22.         adapterData = new String[] { "Afghanistan", "Albania", "Algeria", 
  23.                 "American Samoa", "Andorra", "Angola", "Anguilla", 
  24.                 "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", 
  25.                 "Aruba", "Australia", "Austria", "Azerbaijan", "Bahrain", 
  26.                 "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", 
  27.                 "Benin", "Bermuda", "Bhutan", "Bolivia", 
  28.                 "Bosnia and Herzegovina", "Botswana", "Bouvet Island" }; 
  29.  
  30.         /* 这个是数组string类型的数组 */ 
  31.         // ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>
  32.         // ArrayListDemo.this, android.R.layout.simple_list_item_1, 
  33.         // adapterData); 
  34.  
  35.         /* 设置ListView的Adapter */ 
  36.         listView.setAdapter(new ArrayAdapter<String>(ArrayListDemo.this, 
  37.                 android.R.layout.simple_list_item_1, adapterData)); 
  38.     } 

代码中写的有注释,我觉得要解释的有几点,都是很基础的,高手就见笑了.

1. 适配器的作用是数据和视图之间的桥梁

2. 这个小例子是要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类型的

3. ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
         ArrayListDemo.this, android.R.layout.simple_list_item_1,
         adapterData);

这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView. 不知道刚学的同学懂了没有...

 

 

 

 

 

本文出自 “生如夏花” 博客,请务必保留此出处http://april19880317.blog.51cto.com/1938095/690380

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝塔糖为什么不让卖 为什么黄道益不能在大陆卖 40年产权公寓卖不掉 为什么处方药不随便卖 王氏保赤丸为啥不让卖 百蕊颗粒药店为什么不让卖 14楼为什么便宜也不好卖 为什么很多药店不卖百蕊颗粒 安康鱼肝为什么不让卖 eve药中国为什么不让卖 21型二踢脚为什么不能卖 凯美瑞混动为什么卖不动 顶层房子为什么不好卖 南宁2019很多房子卖不出去 十月馨药店为什么不明卖 三不问 养龟为什么不能养双 家里为什么不能养双猫 眼科医生不建议割双眼皮 新手为什么不要开双离合 千万不要买雷凌双擎 世上安得双法不负如来不负卿 肿泡眼大夫不建议割双眼皮 双胎为什么医生不建议做四维 双闪灯一直闪关不掉怎么解决 到付邮费是不是双倍 做完双眼皮不能吃什么 甲状腺双叶回声不均匀 不可抗力3完整免费观看双结局 双钱轮胎质量好不好 双相情感障碍六亲不认 为什么双氧水不利于伤口愈合 双氧水洗耳朵会不会烧坏耳膜 双桶洗衣机脱水桶不转 非你不爱双高干 埋线双眼皮好不好 真三吧 全世界都知道我不好惹孤木双 为什么选房选单不选双 棠不吝作品 不吝赐教