WEB开发网
开发学院手机开发Android 开发 Android 从应用框架角度看ListView与Adapter类别 阅读

Android 从应用框架角度看ListView与Adapter类别

 2010-06-01 15:48:00 来源:WEB开发网   
核心提示:在Android应用框架(Application Framework, 简称AF)里已经设计了许多类别,其中的三个类别如下:这用来协助Activity在UI画面上显示一个List窗口,Android 从应用框架角度看ListView与Adapter类别,例如:请你注意AF的特性:Activity、ListView和Ba

Android应用框架(Application Framework, 简称AF)里已经设计了许多类别,其中的

三个类别如下:

(图)高焕堂讲义之十五:从应用框架角度看ListView与Adapter类别

这用来协助Activity在UI画面上显示一个List窗口,例如:

(图)高焕堂讲义之十五:从应用框架角度看ListView与Adapter类别

请你注意AF的特性:Activity、ListView和BaseAdapter两个类别已经由Android AF开发者设计在先。只是当时Android AF开发者并不知道应用程序(Applications, 简称AP)里的List窗口的内容,所以预留了空间给AP程序员去补充,如下:

(图)高焕堂讲义之十五:从应用框架角度看ListView与Adapter类别

AF 设计师与AP程序员两者在不同的时间及空间(即地点)合作。AF设计师在设计AF当时并不知道AP的List窗口里各选项的长相(文字或是图像等),因为这长相的决定是来自于AP的用户。所以只有AP程序员知道,AF设计师并不知道。于是,AF设计师负责撰写AF里的Super-class(如 BaseAdapter)而AP程序员负责撰写AP里的Subclass(如myStringAdapter)。两者跨时间和空间的智能会合而成为一支完整好用的应用程序。例如,AP程序员知道他的UI将显示出单纯的文字型List窗口,所以就撰写myStringAdapter子类别。

当应用程序执行时,AF掌握整个控制权,呼叫ac01的onCreate()函数,询问AP程序员的见解:

(图)高焕堂讲义之十五:从应用框架角度看ListView与Adapter类别

在 ac01的onCreate()函数里,AP程序员回答:由myStringAdapter子类别来提供内容及长相给ListView。于是,Activity要求显示ListView的内容时,ListView就从BaseAdapter而反向呼叫到myStringAdapter的 getView()等函数,而取得显示的内容和长相了。

(图)高焕堂讲义之十五:从应用框架角度看ListView与Adapter类别

1 2 3  下一页

Tags:Android 应用 框架

编辑录入:coldstar [复制链接] [打 印]
赞助商链接