什么是ListView?
ListView
是在android开发中使用得相当频繁的一个控件,它的作用是用来展示一组可滚动的列表条目。列表中的条目一般使用Adapter
自动插入到列表中。Adapter
会从数据源中获取数据(如数组、数据库等),然后将每个数据条目转换成条目视图放到列表当中。
关于Adapter的详细机制,我们会在另外的文章里面进行深入的了解。
实现ListView
实现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)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}" >
<ListView
android:id="@+id/lvDemo"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
MainActivity.java片断(在onCreate()
中完成ListView的声明和数据绑定)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ArrayAdapter的参数1是一个context,代表要生成ListView的上下文
// 参数2要传入的是一个布局文件id值,这里使用google预置的布局文件
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1);
ListView lvDemo = (ListView)findViewById(R.id.lvDemo);
lvDemo.setAdapter(adapter);
// 添加数据
for(int i = 0; i < 20; i++){
adapter.add("item " + String.valueOf(i));
}
}
现在我们有了一个最简单的ListView了(虽然很简陋)
同系列文章
一步步学ListView(2):自定义ListView (未完成
)
一步步学ListView(3):ListView性能优化 (未完成
)