使用ListFragment显示列表
(1)建立模型层,用于存储列表的数据。(可能用到singleton)
ADD:单例的创建:1.类定义中实例化一个该类的静态私有对象;2.创建一个私有的构造方法;3.创建静态公有get()函数。
(2)以ListFragment(标准库或者支持库)作为超类,创建XXListFragment类。(注:默认ListFragment的布局已经被绑定为一个全屏的ListView)
(3)创建Activity托管Fragment。(注:activity布局可能可以公用,activity代码部分可能可以抽象)
(4)创建adapter(注:adapter是控制器对象,是模型层与ListView的桥梁,具体负责:创建必要的视图对象;用模型层数据填充视图对象;将准备好的视图对象返还给ListView)
1、如果不定制列表项:
(1)实例化ArrayAdapter<T>类作为adapter
(2)覆盖模型层的toString()方法。因为默认的ArrayAdapter<T>.getView()方法依赖模型对象的toString()方法
(3)覆盖onListItemClick()方法响应列表项的点击事件。
2、如果定制列表项:
(1)创建定义列表项视图的XML布局文件。
(2)以ArrayAdapter<T>类作为超类,自定义XXAdapter
。(作为XXLIstFragment类的内部类,首先构造方法里调用父类的构造方法;{然后覆盖getView()方法,getView()方法里面实现 adapter的所有功能:创建必要的视图对象;用模型层数据填充视图对象;将准备好的视图对象返还给ListView;}最后使用刚刚自 定义的XXAdapter类)。P163
(1)建立模型层,用于存储列表的数据。(可能用到singleton)
ADD:单例的创建:1.类定义中实例化一个该类的静态私有对象;2.创建一个私有的构造方法;3.创建静态公有get()函数。
(2)以ListFragment(标准库或者支持库)作为超类,创建XXListFragment类。(注:默认ListFragment的布局已经被绑定为一个全屏的ListView)
(3)创建Activity托管Fragment。(注:activity布局可能可以公用,activity代码部分可能可以抽象)
(4)创建adapter(注:adapter是控制器对象,是模型层与ListView的桥梁,具体负责:创建必要的视图对象;用模型层数据填充视图对象;将准备好的视图对象返还给ListView)
1、如果不定制列表项:
(1)实例化ArrayAdapter<T>类作为adapter
(2)覆盖模型层的toString()方法。因为默认的ArrayAdapter<T>.getView()方法依赖模型对象的toString()方法
(3)覆盖onListItemClick()方法响应列表项的点击事件。
2、如果定制列表项:
(1)创建定义列表项视图的XML布局文件。
(2)以ArrayAdapter<T>类作为超类,自定义XXAdapter
。(作为XXLIstFragment类的内部类,首先构造方法里调用父类的构造方法;{然后覆盖getView()方法,getView()方法里面实现 adapter的所有功能:创建必要的视图对象;用模型层数据填充视图对象;将准备好的视图对象返还给ListView;}最后使用刚刚自 定义的XXAdapter类)。P163