什么是ListView?
ListView是在Android开发中使用得相当频繁的一个控件,它的作用是用来展示一组可滚动的列表条目。列表中的条目一般使用Adapter自动插入到列表中。Adapter会从数据源中获取数据(如数组、数据库等),然后将每个数据条目转换成条目视图放到列表当中。
关于Adapter的详细机制,我们会在另外的文章里面进行深入的了解。
实现ListView一般需要以下步骤:
1. 准备ListView要显示的数据
2. 确定要用什么来保存数据(Array、Cursor等等)
3. 构建Adapter
4. 将Adapter添加到ListView,并显示出来
以下代码演示了如何实现一个最简单的ListView——我们用字符串数组来保存数据,ListView上的每一个条目都只显示一行文字,同时还借用了android内置的默认样式android.R.layout.simple_list_item_1来进行显示。
activity_main.xml(布局文件,里面只有一个ListView)
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
MainActivity.Java片断(在onCreate()中完成ListView的声明和数据绑定)
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);// ArrayAdapter的参数1是一个context,代表要生成ListView的上下文// 参数2要传入的是一个布局文件id值,这里使用google预置的布局文件ArrayAdapter adapter =newArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1); ListView lvDemo = (ListView)findViewById(R.id.lvDemo); lvDemo.setAdapter(adapter);// 添加数据for(inti =0; i <20; i++){ adapter.add("item "+ String.valueOf(i)); }}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
现在我们有了一个最简单的ListView了(虽然很简陋)
同系列文章
一步步学ListView(2):自定义ListView (未完成)
一步步学ListView(3):ListView性能优化 (未完成)