这个和以前的几个都有点不同,首先这个不用在xml中写对应的控件,而是直接在activity中将整个list实现的:首先要实例化列表和用于存储数据的数组list[9-10],第12-14行放list里加入3个数据,这里最不同的一点是要一个适配器:ArrayAdapter
1 public class MainActivity extends Activity {
2 private ListView lv ;//声明一个列表
3 private List list ;//声明一个List容器
4 private ArrayAdapter aa ;
5 @Override
6 public void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8 setContentView(R.layout.main);
9 lv = new ListView(this);//实例化列表
10 list = new ArrayList();//实例化List
11 //往容器中添加数据
12 list.add("Item1");
13 list.add("Item2");
14 list.add("Item3");
15 //实例适配器
16 //第一个参数:Context
17 //第二个参数:ListView中每一行布局样式
18 //android.R.layout.simple_list_item_1:系统中每行只显示一行文字布局
19 //第三个参数:列表数据容器
20 aa = new ArrayAdapter(this, android.R.layout.simple_list_item_1,list);
21 lv.setAdapter(aa);//将适配器数据映射ListView上
22 //为列表添加监听
23 lv.setOnItemClickListener(new OnItemClickListener() {
24 @Override
25 public void onItemClick(AdapterView> arg0, View arg1, int arg2, long arg3) {
26 Toast.makeText(MainActivity.this, "当前选中列表项的下标为:"+arg2, Toast.LENGTH_SHORT).show();
27 }
28 });
29 this.setContentView(lv);
30 }
31 }