background image

ListView 与 ArrayAdapter 的搭配使用

android 中,ListView 是一种很重要的控件,一般的使用中,常建立一个所需类型的

ArrayList,再通过 ArrayAdapter 把 ListView 绑定到 ArrayList 上,通过 ArrayAdapter 来使
ListView 显示和刷新内容。

 

假定现在有一

String 类型的 ArrayList,叫 myArrayList,建立 ArrayAdapter 并将其与

myArrayList 绑定的代码如下:

1

 ArrayAdapter<String> myArrayAdapter = 

2

     

new

 ArrayAdapter<String>(

this

, android.layout.simple_list_item_1, myArrayList);

其中

android.layout.simple_list_item_1 是 android 本身的一个基本 listview,在实际中也

可以自建一个

listview。

 

当有新的内容时,先将

String 添加到 myArrayList,然后通过以下代码完成 ListView 的

刷新显示:

1

 myArrayList.add(0, myString);

2

 myArrayAdapter.notifyDataSetChanged();

上面

add 方法的第一个参数是新 String 要添加的位置,从 0 开始一次递增 。

notifyDataSetChanged()的作用是告知 ListView 刷新内容。

 

在实际中,经常需要定制

ListView,先要为所需的页面、边缘等需要的颜色在

colors.xml 文件中进行设置。并为页面宽度和页面边缘在 dimens.xml 中添加所需要的值。

 

然后需要扩展一个新的

TextView 类,用作 ListView 中每一行的显示,在 init 方法中创

建获取前面创立的资源文件,并建立

Paint 对象,然后重写 onDraw 方法,利用 Paint 对象来

重写图像。

1

 

import

 android.content.Context;

2

 

import

android.content.res.Resources;

 

3

 

import

 android.graphics.Canvas;