版权声明:本文为博主原创文章,未经博主允许不得转载。
一个ListView通常有两个职责。
(1)将数据填充到布局。
(2)处理用户的选择点击等操作。
第一点很好理解,ListView就是实现这个功能的。第二点也不难做到。
一个ListView的创建需要3个元素。
(1)ListView中的每一列的View。
(2)填入View的数据或者图片等。
(3)连接数据与ListView的适配器。
首先了解下什么是适配器:
适配器是AdapterView视图(如ListView - 列表视图控件、Gallery - 缩略图浏览器控件、GridView - 网格控件、Spinner - 下拉列表控件、AutoCompleteTextView - 自动提示文本框、ExpandableListView - 支持展开/收缩功能的列表控件等)与数据之间的桥梁,用来处理数据并将数据绑定到AdapterView上。
android提供多种适配器,开发时可以针对数据源的不同采用最方便的适配器,也可以自定义适配器完成复杂功能。
补充:AdapterView对象有两个主要任务
1. 在布局中显示数据
2. 处理用户的选择
也就是说,适配器能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便
Android中提供了很多的Adapter,表1列出了常用的几个。
表1 常用适配器
Adapter | 含义 |
ArrayAdapter<T> | 用来绑定一个数组,支持泛型操作 |
SimpleAdapter | 用来绑定在xml中定义的控件对应的数据 |
SimpleCursorAdapter | 用来绑定游标得到的数据 |
BaseAdapter | 通用的基础适配器 |
下面以自己的一个对ListView控件的简单应用,介绍下使用ListView 的操作步骤。
目的:实现对搜索到的WIFI信号的列表显示,至于WIFi的使用后面讲。
1、定义好布局文件。布局文件中包含一个Button和一个ListView。
<a target=_blank id="L1" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;"> 1</a> <a target=_blank id="L2" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;"> 2</a> <a target=_blank id="L3" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L3" rel="#L3" style="color: rgb(102, 102, 102); text-decoration: none;"> 3</a> <a target=_blank id="L4" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L4" rel="#L4" style="color: rgb(102, 102, 102); text-decoration: none;"> 4</a> <a target=_blank id="L5" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L5" rel="#L5" style="color: rgb(102, 102, 102); text-decoration: none;"> 5</a> <a target=_blank id="L6" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L6" rel="#L6" style="color: rgb(102, 102, 102); text-decoration: none;"> 6</a> <a target=_blank id="L7" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L7" rel="#L7" style="color: rgb(102, 102, 102); text-decoration: none;"> 7</a> <a target=_blank id="L8" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L8" rel="#L8" style="color: rgb(102, 102, 102); text-decoration: none;"> 8</a> <a target=_blank id="L9" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L9" rel="#L9" style="color: rgb(102, 102, 102); text-decoration: none;"> 9</a> <a target=_blank id="L10" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L10" rel="#L10" style="color: rgb(102, 102, 102); text-decoration: none;"> 10</a> <a target=_blank id="L11" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L11" rel="#L11" style="color: rgb(102, 102, 102); text-decoration: none;"> 11</a> <a target=_blank id="L12" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L12" rel="#L12" style="color: rgb(102, 102, 102); text-decoration: none;"> 12</a> <a target=_blank id="L13" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L13" rel="#L13" style="color: rgb(102, 102, 102); text-decoration: none;"> 13</a> <a target=_blank id="L14" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L14" rel="#L14" style="color: rgb(102, 102, 102); text-decoration: none;"> 14</a> <a target=_blank id="L15" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L15" rel="#L15" style="color: rgb(102, 102, 102); text-decoration: none;"> 15</a> <a target=_blank id="L16" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L16" rel="#L16" style="color: rgb(102, 102, 102); text-decoration: none;"> 16</a> <a target=_blank id="L17" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L17" rel="#L17" style="color: rgb(102, 102, 102); text-decoration: none;"> 17</a> <a target=_blank id="L18" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L18" rel="#L18" style="color: rgb(102, 102, 102); text-decoration: none;"> 18</a> <a target=_blank id="L19" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L19" rel="#L19" style="color: rgb(102, 102, 102); text-decoration: none;"> 19</a> <a target=_blank id="L20" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L20" rel="#L20" style="color: rgb(102, 102, 102); text-decoration: none;"> 20</a> <a target=_blank id="L21" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L21" rel="#L21" style="color: rgb(102, 102, 102); text-decoration: none;"> 21</a> <a target=_blank id="L22" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L22" rel="#L22" style="color: rgb(102, 102, 102); text-decoration: none;"> 22</a> <a target=_blank id="L23" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L23" rel="#L23" style="color: rgb(102, 102, 102); text-decoration: none;"> 23</a> <a target=_blank id="L24" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L24" rel="#L24" style="color: rgb(102, 102, 102); text-decoration: none;"> 24</a> |
来自CODE的代码片
WIFIlayout.XML
<a target=_blank id="L1" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;"> 1</a> <a target=_blank id="L2" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;"> 2</a> <a target=_blank id="L3" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L3" rel="#L3" style="color: rgb(102, 102, 102); text-decoration: none;"> 3</a> |
来自CODE的代码片
apdater
<a target=_blank id="L1" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;"> 1</a> <a target=_blank id="L2" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;"> 2</a> <a target=_blank id="L3" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L3" rel="#L3" style="color: rgb(102, 102, 102); text-decoration: none;"> 3</a> <a target=_blank id="L4" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L4" rel="#L4" style="color: rgb(102, 102, 102); text-decoration: none;"> 4</a> <a target=_blank id="L5" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L5" rel="#L5" style="color: rgb(102, 102, 102); text-decoration: none;"> 5</a> <a target=_blank id="L6" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L6" rel="#L6" style="color: rgb(102, 102, 102); text-decoration: none;"> 6</a> <a target=_blank id="L7" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L7" rel="#L7" style="color: rgb(102, 102, 102); text-decoration: none;"> 7</a> <a target=_blank id="L8" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L8" rel="#L8" style="color: rgb(102, 102, 102); text-decoration: none;"> 8</a> <a target=_blank id="L9" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L9" rel="#L9" style="color: rgb(102, 102, 102); text-decoration: none;"> 9</a> <a target=_blank id="L10" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L10" rel="#L10" style="color: rgb(102, 102, 102); text-decoration: none;"> 10</a> <a target=_blank id="L11" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L11" rel="#L11" style="color: rgb(102, 102, 102); text-decoration: none;"> 11</a> <a target=_blank id="L12" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L12" rel="#L12" style="color: rgb(102, 102, 102); text-decoration: none;"> 12</a> <a target=_blank id="L13" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L13" rel="#L13" style="color: rgb(102, 102, 102); text-decoration: none;"> 13</a> <a target=_blank id="L14" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L14" rel="#L14" style="color: rgb(102, 102, 102); text-decoration: none;"> 14</a> <a target=_blank id="L15" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L15" rel="#L15" style="color: rgb(102, 102, 102); text-decoration: none;"> 15</a> <a target=_blank id="L16" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L16" rel="#L16" style="color: rgb(102, 102, 102); text-decoration: none;"> 16</a> |
来自CODE的代码片
datauptate
<a target=_blank id="L1" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;"> 1</a> <a target=_blank id="L2" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;"> 2</a> |
来自CODE的代码片
setListener
<a target=_blank id="L1" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;"> 1</a> <a target=_blank id="L2" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;"> 2</a> <a target=_blank id="L3" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L3" rel="#L3" style="color: rgb(102, 102, 102); text-decoration: none;"> 3</a> <a target=_blank id="L4" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L4" rel="#L4" style="color: rgb(102, 102, 102); text-decoration: none;"> 4</a> <a target=_blank id="L5" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L5" rel="#L5" style="color: rgb(102, 102, 102); text-decoration: none;"> 5</a> <a target=_blank id="L6" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L6" rel="#L6" style="color: rgb(102, 102, 102); text-decoration: none;"> 6</a> <a target=_blank id="L7" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L7" rel="#L7" style="color: rgb(102, 102, 102); text-decoration: none;"> 7</a> <a target=_blank id="L8" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L8" rel="#L8" style="color: rgb(102, 102, 102); text-decoration: none;"> 8</a> <a target=_blank id="L9" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L9" rel="#L9" style="color: rgb(102, 102, 102); text-decoration: none;"> 9</a> <a target=_blank id="L10" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L10" rel="#L10" style="color: rgb(102, 102, 102); text-decoration: none;"> 10</a> <a target=_blank id="L11" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L11" rel="#L11" style="color: rgb(102, 102, 102); text-decoration: none;"> 11</a> <a target=_blank id="L12" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L12" rel="#L12" style="color: rgb(102, 102, 102); text-decoration: none;"> 12</a> <a target=_blank id="L13" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L13" rel="#L13" style="color: rgb(102, 102, 102); text-decoration: none;"> 13</a> <a target=_blank id="L14" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L14" rel="#L14" style="color: rgb(102, 102, 102); text-decoration: none;"> 14</a> <a target=_blank id="L15" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L15" rel="#L15" style="color: rgb(102, 102, 102); text-decoration: none;"> 15</a> <a target=_blank id="L16" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L16" rel="#L16" style="color: rgb(102, 102, 102); text-decoration: none;"> 16</a> <a target=_blank id="L17" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L17" rel="#L17" style="color: rgb(102, 102, 102); text-decoration: none;"> 17</a> <a target=_blank id="L18" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L18" rel="#L18" style="color: rgb(102, 102, 102); text-decoration: none;"> 18</a> <a target=_blank id="L19" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L19" rel="#L19" style="color: rgb(102, 102, 102); text-decoration: none;"> 19</a> <a target=_blank id="L20" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L20" rel="#L20" style="color: rgb(102, 102, 102); text-decoration: none;"> 20</a> <a target=_blank id="L21" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L21" rel="#L21" style="color: rgb(102, 102, 102); text-decoration: none;"> 21</a> <a target=_blank id="L22" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L22" rel="#L22" style="color: rgb(102, 102, 102); text-decoration: none;"> 22</a> <a target=_blank id="L23" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L23" rel="#L23" style="color: rgb(102, 102, 102); text-decoration: none;"> 23</a> <a target=_blank id="L24" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L24" rel="#L24" style="color: rgb(102, 102, 102); text-decoration: none;"> 24</a> <a target=_blank id="L25" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L25" rel="#L25" style="color: rgb(102, 102, 102); text-decoration: none;"> 25</a> <a target=_blank id="L26" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L26" rel="#L26" style="color: rgb(102, 102, 102); text-decoration: none;"> 26</a> <a target=_blank id="L27" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L27" rel="#L27" style="color: rgb(102, 102, 102); text-decoration: none;"> 27</a> <a target=_blank id="L28" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L28" rel="#L28" style="color: rgb(102, 102, 102); text-decoration: none;"> 28</a> <a target=_blank id="L29" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L29" rel="#L29" style="color: rgb(102, 102, 102); text-decoration: none;"> 29</a> <a target=_blank id="L30" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L30" rel="#L30" style="color: rgb(102, 102, 102); text-decoration: none;"> 30</a> <a target=_blank id="L31" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L31" rel="#L31" style="color: rgb(102, 102, 102); text-decoration: none;"> 31</a> <a target=_blank id="L32" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L32" rel="#L32" style="color: rgb(102, 102, 102); text-decoration: none;"> 32</a> <a target=_blank id="L33" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L33" rel="#L33" style="color: rgb(102, 102, 102); text-decoration: none;"> 33</a> <a target=_blank id="L34" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L34" rel="#L34" style="color: rgb(102, 102, 102); text-decoration: none;"> 34</a> <a target=_blank id="L35" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L35" rel="#L35" style="color: rgb(102, 102, 102); text-decoration: none;"> 35</a> <a target=_blank id="L36" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L36" rel="#L36" style="color: rgb(102, 102, 102); text-decoration: none;"> 36</a> <a target=_blank id="L37" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L37" rel="#L37" style="color: rgb(102, 102, 102); text-decoration: none;"> 37</a> <a target=_blank id="L38" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L38" rel="#L38" style="color: rgb(102, 102, 102); text-decoration: none;"> 38</a> <a target=_blank id="L39" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L39" rel="#L39" style="color: rgb(102, 102, 102); text-decoration: none;"> 39</a> <a target=_blank id="L40" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L40" rel="#L40" style="color: rgb(102, 102, 102); text-decoration: none;"> 40</a> <a target=_blank id="L41" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L41" rel="#L41" style="color: rgb(102, 102, 102); text-decoration: none;"> 41</a> <a target=_blank id="L42" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L42" rel="#L42" style="color: rgb(102, 102, 102); text-decoration: none;"> 42</a> <a target=_blank id="L43" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L43" rel="#L43" style="color: rgb(102, 102, 102); text-decoration: none;"> 43</a> <a target=_blank id="L44" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L44" rel="#L44" style="color: rgb(102, 102, 102); text-decoration: none;"> 44</a> <a target=_blank id="L45" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L45" rel="#L45" style="color: rgb(102, 102, 102); text-decoration: none;"> 45</a> <a target=_blank id="L46" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L46" rel="#L46" style="color: rgb(102, 102, 102); text-decoration: none;"> 46</a> <a target=_blank id="L47" href="http://blog.youkuaiyun.com/liuhui_8989/article/details/22945141#L47" rel="#L47" style="color: rgb(102, 102, 102); text-decoration: none;"> 47</a> |
来自CODE的代码片
ItemListener
clientBltList.getSelectedView().setBackgroundColor(R.color.green);
相关project源码:http://download.youkuaiyun.com/detail/liuhui_8989/7154671
有错误多多指出