ExpandableListView是ListView的子类,它在普通ListView的基础上进行了扩展,它把应用中的列表项分为几组,每组又可包含多少个列表项。 ExpandableListVIew的用法与普通ListView的用法非常相似,只是ExpandableListView所显示的列表项应该由ExpandListAdapter提供。ExpandListAdapter也是一个接口,下图展示了该接口的继承关系。与Adapter类似的是,实现ExpandableListAdapter也有如下三种常用方式。扩展BaseExpandableListAdapter实现ExpandableLi... Read More
GridView用于在界面上按行、列分布的方式来显示多个组件。GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有很高的相似性,它们都是列表项。GridView和ListView的唯一区别在于:ListView只显示一列,而GridView可以显示多列。从这个角度来看,ListView相当于一种特殊的GridView,如果让GridView只显示一列,那么该GridView就变成了ListView。 与ListView类似的是,GridView也需要通过Adapter来提供显示的数据:我们可以采用之前介绍的4种方式的任意一... Read More
自动完成文本框(AutoCompleteTextView)从EditText派生而出,实际上它也是一个文本编辑框,但它比普通编辑框多了一个功能;当用户输入一定字符之后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个才菜单项之后,AutoCompleteTextView按用户选择自动填写该文本框。 使用AutoCompleteTextView很简单,只要为他设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本。 AutoCompleteTextView还派生了一个子类:MultiAutoCompleteTextView,... Read More
下面的实例将会通过扩展BaseAdapter来实现Adapter,扩展BaseAdapter可以取得对Adapter最大的控制权;程序要创建多个列表项,每个列表项的组件都由开发者来决定。 下面的布局文件非常简单,布局文件只包含一个简单的ListView,布局文件代码如下: 该实例的Activity将会扩展BaseAdapter来实现Adapter对象,Activity代码如下:程序清单文件:package org.crazyit.helloworld;import android.os.Bundle;import android.app.Activity;import android... Read More