Android定制ListView的界面(使用继承自ArrayAdapter的自定义适配器)--《第一行代码Android》学习笔记
2015-10-13 00:00
901 查看
ListView控件用于实现程序中的内容在屏幕上滚动的效果,大部分日常使用的应用程序都会使用ListView控件。
![](http://static.oschina.net/uploads/img/201510/13124311_YURN.jpg)
关键代码如下:
首先需要在主布局文件中加入ListView控件,然后希望将数据传递给ListView。然而数据的传递必须借助“适配器(Adapter)”来完成,在这里使用
查阅API可知,共有6种重载形式的 ArrayAdapter 构造函数,由于想要传入的数据源data为字符串数组类型,所以应选择
从接收数组类型的参数上来看,还有一个符合要求的构造函数
Context context:当前上下文(我的理解是:当前代码需要工作中哪个活动中,就传入哪个活动)
int resource:ListView的每一个列表项(子项)的布局文件(对于简单ListView来说,子项为布局为TextView纯文本,Android已内置这种布局文件,不需自行创建XML文件)
int textViewResourceId:子项布局中用来显示文字的TextView的id(在自定义ListView中,子项布局可能是一个图片ImageView和一个文本TextView,这里要传入TextView的ID)
T[] objects:泛型数组,指定泛型后变为相应类型的数组
一、简单ListView的用法
简单ListView,即实现只有多个文本内容的滚动显示(不含有图片)。效果如图…![](http://static.oschina.net/uploads/img/201510/13124311_YURN.jpg)
关键代码如下:
ArrayAdapter<String> adapter = new ArrayAdapter<String>( MainActivity.this, android.R.layout.simple_list_item_1, data); //新建适配器 ListView listView = (ListView) findViewById(R.id.list_View); listView.setAdapter(adapter); //加载适配器
首先需要在主布局文件中加入ListView控件,然后希望将数据传递给ListView。然而数据的传递必须借助“适配器(Adapter)”来完成,在这里使用
android.widget.ArrayAdapter<T>。
ArrayAdapter<T>在定义时需要指定泛型为”要适配的数据类型“,这里即为String类型。
查阅API可知,共有6种重载形式的 ArrayAdapter 构造函数,由于想要传入的数据源data为字符串数组类型,所以应选择
ArrayAdapter(Context context, int resource, T[] objects),并将泛型T指定为String,这样,该构造函数接受的形参为
String[] objects符合我们的要求。注意,是先有要适配的数据,然后根据数据类型选择正确的构造函数。
从接收数组类型的参数上来看,还有一个符合要求的构造函数
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects),我们不使用它的原因是,并不需要这么多参数。这四个参数的含义依次为:
Context context:当前上下文(我的理解是:当前代码需要工作中哪个活动中,就传入哪个活动)
int resource:ListView的每一个列表项(子项)的布局文件(对于简单ListView来说,子项为布局为TextView纯文本,Android已内置这种布局文件,不需自行创建XML文件)
int textViewResourceId:子项布局中用来显示文字的TextView的id(在自定义ListView中,子项布局可能是一个图片ImageView和一个文本TextView,这里要传入TextView的ID)
T[] objects:泛型数组,指定泛型后变为相应类型的数组
二、自定义ListView的方法
版权声明:欢迎转载,转载请注明出处。相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories