android的组件基本都按如下方法生成:
1、生成一个组件对象:通过xml文件或在代码中生成
2、对组件进行设置
3、添加事件监听器
View:
View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。
可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。
main.xml
ListView:
1、生成ListView对象:可以在Layout中声明,也可以在代码中声明
2、设置ListView对象的各个属性。主要是Adatper
3、设置监听器
Adapter:
Adapter,可以理解为一种pb中的结果集(数据源+界面):
ArrayAdapter数据源:一维数组,界面:系统提供或自定义
数据源:数组 :String[] names = {"张三","李四"};
界面:
系统提供多种:
android.R.Layout.simple_list_item_1
android.R.Layout.simple_list_item_2
android.R.Layout.simple_list_item_checked
android.R.Layout.simple_list_item_multiple_choice
android.R.Layout.simple_list_item_single_choice
自定义: 是一个layout
绑定:ArrayAdapther adapter = new ArrayAdapter<String>(this,界面布局,数据源);
SimpleAdapter 数据源:多维数据 界面:系统提供多种或自定义
数据源:Map负责一行的每列,ArrayList负责所有行
界面:一个Layout或程序指定。
SimpleCursorAdapter 数据源:Cursor 界面:系统提供多种或自定义
BaseAdapter:自定义数据源与界面的关联方式,自定义行界面各组件的时间响应。
框架流程:
1、Activity显示主布局,发现包含ListView就绘制ListView
2、ListView绘制时会查找自己身上的Adapter,调用Adapter的getSize()取得行号,并逐行调用getView()取得“行view”并将其画出来。
3、Adapter负责将数据源与行界面相关联。
数据源:自定义
界面:自定义
先生成行界面
生成需要显示的数据
生成一个BaseAdapter的子类,
实现getCount() 方法:返回数据源的行数
实现getView()方法:设置数据与行View关联,设置组件事件响应。
main.xml
sime_list.x ml