首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android开发10.1:UI组件适配器AdapterView(创设ListView,Adapter接口)

2013-10-08 
Android开发10.1:UI组件适配器AdapterView(创建ListView,Adapter接口)@version:Android4.3 API18 @author:

Android开发10.1:UI组件适配器AdapterView(创建ListView,Adapter接口)
@version:Android4.3 API18

@author:liuxinming

概述              AdapterView继承了ViewGroup,它的本质是容器              AdapterView 可以包含多个 “列表项”,并将多个“列表项”以合适的形式显示出来              AdapterView显示的多个“列表项”由Adapter提供类图Android开发10.1:UI组件适配器AdapterView(创设ListView,Adapter接口)

ListView(列表视图)ListView以垂直列表的形式显示所有列表项创建方式:                          1、直接使用ListView创建                          2、让Activity继承ListActivity(相当于该Activity显示的组件为ListView)在程序中获得了ListView之后,接下来就需要为ListView设置它要显示的列表项注释:ListView、GridView、Spinner、Gallery等AdapterView都只是容器,而Adapter负责提供每个“列表项”组件,AdapterView则负责采用合适的方式显示这些列表项。XML属性AbsListView属性官方API参考
http://developer.android.com/reference/android/widget/AbsListView.html

XML属性相关方法说明android:choiceMode 设置AbsListView的选择行为,支持下列属性值
none:不显示任何选中项 value=0
singleChoice:允许单选 value=1
multipleChoice:允许多选 value=2
multipleChoiceModal:允许多选 value=3android:DrawSelectorOnTopsetDrawSelectoronTop(boolean)true:选中的列项将会显示在上面android:fastScrollEnabled 设置是否允许快速滚动
true:显示滚动图标,并允许用户拖动该滚动图标进行快速滚动android:listSelectorsetSelector(int)指定被选中的列表项上绘制的Drawableandroid:scrollingCache true:该组件在滚动时将会使用绘制缓存android:smoothScrollbarsetSmoothScrollbarEnable(boolean)false:则不在header View之后绘制分割线android:stackFromBottom 设置是否从底端开始排列列表项android:textFilterEnable 设置是否对列表项进行过滤
注释:当该AbsListView对应的Adapter实现了Filter接口时该属性才会起作用android:transcriptMode 设置该组件的滚动模式。该属性支持如下属性
disabled:关闭滚动。默认值
normal:当该AbsListView受到数据改变通知,且最后一个列表项可见时,该AbsListView将会滚动到底端
alwaysScroll:该AbsListView总会自动滚动到底端
ListView常用XML属性android:divider设置List列表项的分割线(即可用颜色分割,也可用Drawable分割)android:dividerHeight分割线的高度android:entries指定一个数组资源,Android将根据该数组资源来生成ListViewandroid:footerDividersEnabledfalse:则不在footer View之前绘制分隔线android:headerDividersEnabledfalse:则不在header View之后绘制分隔线
使用数组创建ListView实例Android_ListView/res/layout/activity_main.xml


Adapter(接口)     Adapter本身只是一个接口     它派生了ListAdapter和SpinnerAdapter两个子接口,其中ListAdapter为AbsListView提供列表项,而SpinnerAdapter为AbsSpinner提供列表项接口及其实现类的继承关系类图    接口间接类较多,可能画的有点凌乱,我整理了很几次,看着也好像有点凌乱,呵呵。凑活着看吧    官方API参考:
   http://developer.android.com/reference/android/widget/Adapter.htmlAndroid开发10.1:UI组件适配器AdapterView(创设ListView,Adapter接口)
Adapter常用的实现类1、ArrrayAdapter:简单、易用,通常用于数组或List集合的多个值包装成多个列表项2、SimpleAdapter:功能有点强,可用于将List集合的多个对象包装成多个列表项3、SimpleCursorAdapter:与SimpleAdapter基本相似,只是用于包装Cursor提供的数据4、BaseAdapter:通常用于被扩展。扩展BaseAdapter可以对各列表项进行最大限度的定制
实现类一:ArrayAdapter实例    设计场景:通过界面布局定义两个ListView,但这两个ListView都不指定android:entries属性(哈哈,区别来啦,前面一个简单例子,我们是通过配置XML数组资源)                        我们通过Activity为两个ListView提供Adapter,Adapter来控制所显示的列表项                        注释:这个有点像WEB开发的模板机制,定义好数据格式后,通过后端程序来控制数据资源需要显示的内容。    Android_ListView/layout/Activity_main.xml    

ListActivity实现列表如果窗口仅仅需要显示一个列表,则可以直接让Activity继承ListActivity来实现,ListActivity的子类无需调用setContentView()方法来显示某个界面而是可以直接传入一个内容Adapter,ListActivity子类就呈现出一个列表
Android_ListView/src/com/example/android_listview/MianActiviy.java



未完待续.....

热点排行