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

ListView控件用于实现程序中的内容在屏幕上滚动的效果,大部分日常使用的应用程序都会使用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的方法

版权声明:欢迎转载,转载请注明出处。

你可能感兴趣的:(android,ListView,第一行代码,ArrayAdapt)