文章摘要:

1、从设计模式的角度浅谈List列表应用程序开发。

2、列表应用程序开发三要素。控件、数据、适配器。

一、综述:

1、Android中,使用ListView配合Adapter来展示数据列表的例子随处可见。但在实际应用场景中,数据源类型、View展示方式等千差万别。

2、策略模式:将公共的部分抽离出来,使用策略专注应对变化。

3、列表应用程序中最主要的变化是数据源的格式类型,既可以是数组,又可以是List集合、Cursor等,故而:原生Android提供了ListAdapter、ArrayAdapter、CursorAdapter等策略来应对变化。

二、列表程序三要素。

1、显示列表控件。

在Android中,ListView用来展示列表应用程序。ListView控件有多种方式可以获得,android提供了ListActivity,可以直接通过getListView()获得。

public class ViewVibration extends ListActivity {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

ListView listView = getListView();

}

}

2、列表展示数据。

本例子演示ArrayAdapter适配器与ListView配合展示列表程序,故而:数据源类型为Array。

public static final String[] TITLES =

{

"Henry IV (1)",

"Henry V",

"Henry VIII",

"Richard II",

"Richard III",

"Merchant of Venice",

"Othello",

"King Lear"

};

3、适配器。

getListView().setListAdapter(new ArrayAdapter(this,

android.R.layout.simple_list_item_1, TITLES));

通过如上三步,列表应用程序,就可以正常展示了。

代码下载:

git clone git@github.com:drodYoung/DrodYoungTestDemo.git

运行图片:

android应用程序列表,List列表应用程序-小知识 #103相关推荐

  1. 第4节:开发微信小程序之0的突破——名片小程序

    上一篇我们了解了微信开发者工具的各个区域以及创建一个基础的小程序模板Hello World,接下来,带大家了解一下微信小程序的基本组件 课前小知识 先了解一下程序中目录的一些知识 小程序中  ./  ...

  2. 适用于各种列表操作的Python程序

    Here, we are implementing a python program for various list operations, following operations are bei ...

  3. 图文列表+欢迎页面+音乐控制小程序模板

    介绍: 图文列表+欢迎页面+音乐控制小程序模板,带微信小程序项目导入使用说明. 安装方式介绍: 1:安装后图标: 登录,随意一个微信号,扫描后即可登录 2:选择无appid:项目名称随意,地址选择下载 ...

  4. 微信小程序 - 展开收缩列表

    代码源自于:微信小程序示例官方 index.wxml 1 <block wx:for-items="{{list}}" wx:key="{{item.id}}&qu ...

  5. 基于微信小程序的用户列表点赞功能

    代码地址如下: http://www.demodashi.com/demo/13997.html 一.前言 (1).适合人群 1.微信小程序开发者 2.前端工程师 3.想入门学习小程序开发的人员 4. ...

  6. 微信小程序 如何实现列表

    微信小程序中实现列表可以通过使用「scroll-view」组件或「list」组件来实现. 使用「scroll-view」组件:可以使用 wx:for 指令来循环渲染列表中的数据,并为每个元素设置相应的 ...

  7. 微信小程序显示分页列表

    目录 微信小程序创建项目配置底部导航栏 微信小程序滚动播放内容 微信小程序功能中心模块开发 微信小程序个人中心页面开发 微信小程序获取电话号码 微信小程序显示列表数据 微信小程序显示分页列表 微信小程 ...

  8. 微信小程序新闻信息列表展示

    微信小程序信息展示列表 wxml <!-- 轮播图 --> <view class='haibao' bindtap="seeDetail" id="{ ...

  9. 微信小程序场景值列表map格式

    通过场景值code,获取对应描述 const list = [[1000, "其他"],[1001, "发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「 ...

最新文章

  1. 弱类型、强类型、动态类型、静态类型语言的区别是什么?
  2. php编程习惯,PHP 编程的 5个良好习惯
  3. 小学5年级计算机考试作文,我的小学老师五年级优秀作文(通用10篇)
  4. Java中的继承和接口
  5. how to verify that Listener is entry point of application
  6. ssl提高组周六模拟赛【2018.9.15】
  7. oracle biee 11g客户端连接OCI 10g/11g数据源时报错
  8. pandas切割字符串并保存为新列
  9. Snagit 12 – 功能强的老牌截图软件
  10. 容器与拷贝构造函数的问题
  11. Unity官网中文API地址
  12. java中的implement怎么用?
  13. CentOS6.9 网络安装及配置
  14. 24. 两两交换链表中的节点-两两反转链表-LeetCode
  15. 打游戏哪种蓝牙耳机比较好?适合玩游戏的无线蓝牙耳机
  16. 怎么调出全局搜索_eclipse全局搜索快捷键是什么
  17. 数据结构与算法笔记:抽象思维之转换视角,提炼共性(分书和八皇后问题算法重构)
  18. 使用sql语句解析json字符串
  19. C#窗体应用程序之复选框(ComboBox)与进度条(ProgressBar)应用——倒计时器
  20. 嵌入式课程设计总结(八)

热门文章

  1. 证书:数字签名和验签加密和解密
  2. python—004
  3. linux平台下MongoDB安装和环境搭建及踩过的坑
  4. [tyvj1957 Poetize5] Vani和Cl2捉迷藏 (最小路径可重点覆盖+二分图最大匹配)
  5. 渗透中Meterpreter基本操作和对应的windows上的排查或者现象
  6. 团体程序设计天梯赛-练习集-L1-036. A乘以B
  7. Zabbix-1.8.14 安装
  8. 人人都是产品经理1.0
  9. C#使用正则表达式检测数字 char 和韩文
  10. live writer 中注册博客园需要的设置