ListView ListView是一种用于垂直显示的列表控件,如果显示内容过多,则会出现垂直滚动条 ListView能够通过适配器将数据和自身绑定,在有限的屏幕上提供大量内容供用户选择,所以是经常使用的用户界面控件 ListView支持点击事件处理,用户可以用少量的代码实现复杂的选择功能 建立一个“ListViewDemo”程序,包含四个控件,从上至下分别为TextView01、ListView01、 ListView02和 ListView03 ListViewDemo在XML文件中的代码 在ListViewDemo.java文件中,首先需要为ListView创建适配器,并添加ListView中所显示的内容 第2行代码通过ID引用了XML文件中声明的ListView 第7行代码声明了适配器ArrayAdapter,第三个参数list说明适配器的数据源为数组列表 第8行代码将ListView和适配器绑定 在ListViewDemo.java文件中,首先需要为ListView创建适配器,并添加ListView中所显示的内容 第2行代码通过ID引用了XML文件中声明的ListView 第7行代码声明了适配器ArrayAdapter,第三个参数list说明适配器的数据源为数组列表 第8行代码将ListView和适配器绑定 下面的代码声明了ListView子项的点击事件监听器,用以确定用户在ListView中,选择的是哪一个子项 第1行的AdapterView.OnItemClickListener是ListView子项的点击事件监听器,同样是一个接口,需要实现onItemClick()函数。在ListView子项被选择后,onItemClick()函数将被调用 第3行的onItemClick()函数中一共有四个参数,参数0表示适配器控件,就是ListView;参数1表示适配器内部的控件,是ListView中的子项;参数2表示适配器内部的控件,也就是子项的位置;参数3表示子项的行号 第4行和第5行代码用于显示信息,选择子项确定后,在TextView中显示子项父控件的信息、子控件信息、位置信息和ID信息 第7行代码是ListView指定刚刚声明的监听器 TabHost Tab标签页是界面设计时经常使用的界面控件,可以实现多个分页之间的快速切换,每个分页可以显示不同的内容 下图是Android系统内置的Tab标签页,点击“呼出/接听键”后出现,用于电话呼出和查看拨号记录、联系人 Tab标签页的使用 首先要设计所有的分页的界面布局 在分页设计完成后,使用代码建立Tab标签页,并给每个分页添加标识和标题 最后确定每个分页所显示的界面布局 每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使用的方法与设计普通用户界面没有什么区别 tab1.xml文件代码 qtab2.xml文件代码 qtab3.xml文件代码 在TabDemo.java文件中键入下面的代码,创建Tab标签页,并建立子页与界面布局直接的关联关系 第8行代码的声明TabDemo类继承与TabActivity,与以往继承Activity不同,TabActivity支持内嵌多个Activity或View 第12行代码通过getTabHost()函数获得了Tab标签页的容器,用以承载可以点击的Tab标签和分页的界面布局。 第13行代码通过LayoutInflater将tab1.xml文件中的布局转换为Tab标签页可以使用的View对象 第16行代码使用addTab()函数添加了第1个分页,tabHost.newTabSpec("TAB1")表明在第12行代码中建立的tabHost上,添加一个标识为TAB1的Tab分页 第17行代码使用setIndicator()函数设定分页显示的标题,使用setContent()函数设定分页所关联的界面布局 TabDemo示例的运行结果如图 在使用Tab标签页时,可以将不同分页的界面布局保存在不同的XML文件中,也可以将所有分页的布局保存在同一个XML文件中 第一种方法有利于在Eclipse开发环境中进行可视化设计,并且不同分页的界面布局在不同的文件中更加易于管理 第二种方法则可以产生较少的XML文件,同时编码时的代码也会更加简洁 |
|