一、先给大家介绍一下ListView组件ListView组件是用于显示列表数据的,在Android系统中有大量界面使用到ListView组件。ListView组件的使用必须和适配器(Adapter)绑定。ListView组件常用的适配器有以下两种ArrayAdapter、SimpleAdapter。
Adapter(适配器)相当于一个桥梁将ListView和Data Source连接起来
二、ArrayAdapter的使用
步骤如下
a、首先该类继承ListActivity类,同时无需设置布局文件main.xml
b、创建数组数据源
c、创建ArrayAdapter适配器,并且装载数组数据,将数据和ArrayAdapter绑定
d、将ListView和ArrayAdapter进行绑定
e、重写onListItemClick()方法响应单击事件
三、如下是具体的实现代码
package cn.bzu.listview01;
import android.os.Bundle;
import android.app.ListActivity;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
//第一步:extends ListActivity
public class MainActivity extends ListActivity {
/*第二步:创建数组数据源*/
private String[] data = { "Java", "C++", "PHP", "C", "SSH", "Oracle",
"Grails", "HTML" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
* 第三步:创建ArrayAdapter装载数组数据 每一个列表框系统都视为一个textView
* 因为继承了ListView所以不用关联布局文件,直接引用系统自带的即可
* android.R.layout.simple_list_item_1
*/
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data);// 最后一个参数传的是数组名
// 第四步:将控件和数组适配器进行绑定
setListAdapter(adapter);
}
// 第五步:进行事件处理
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Toast.makeText(this, "您选中了" + data[position], Toast.LENGTH_SHORT)
.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
四、程序的运行结果如下