常用控件
8、ListView
列表视图,比如游戏的排行榜。列表数据可以根据屏幕大小自适应
列表的显示需要三个元素:
ListVeiw:用来展示列表的View。
适配器:用来把数据映射到ListView上的中介。
数据:具体的将被映射的字符串,图片,或者基本组件。
ListView用到两种适配器: - ArrayAdapter–简单适配器,只显示文字
- SimpleAdapter–自定义适配器,可以显示自定义内容
- SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来,暂时不讲。
使用简单适配器可直接
1
|
|
this:当前context android.R.layout.simple_list_item_1是系统的布局文件 list:ListView的各项数据
SimpleAdapter各项参数
1
|
|
context:当前context内容 data:ListView的各项数据 resource:ListView的每项布局 from:ListView的组件索引 to:ListView的组件ID 如:
1 2 |
|
但是SimpleAdapter 不能触发组件的事件,还需 自己写适配器继承BaseAdapter
BaseAdapter主要有四个方法 getCount –列表每一项的长度 getItem getItemId getView –绘制每一项的具体组件
例子演示自定义MyAdapter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
布局文件要特别说明两个属性
1 2 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
|
MyAdapter代码里
1 2 3 4 |
|
表示弹出对话框,与Toast不同的是 该对话框要按返回才会退出,而Toast是一闪而过的,对话框在下一讲详细阐述 MainActivity.ma是定义在MainActivity的静态变量指向this自己
MainActivity代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
|
运行效果