您的位置:首页 > 移动开发 > Android开发

Android定制ListView的界面(使用继承自ArrayAdapter的自定义适配器)--《第一行代码Android》学习笔记

2015-10-13 00:00 901 查看
ListView控件用于实现程序中的内容在屏幕上滚动的效果,大部分日常使用的应用程序都会使用ListView控件。

一、简单ListView的用法

简单ListView,即实现只有多个文本内容的滚动显示(不含有图片)。效果如图…



关键代码如下:

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的方法

版权声明:欢迎转载,转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息