ListView的两种使用方法--Android学习笔记

1.

继承ListActivity ,使用listActivity中的  setListActivity()方法,注意在xml中listView的id一定要设置为android:id="@+/android:list"
MainActivity
 
 
 1 package com.example.text;
 2 
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 
 6 import android.app.ListActivity;
 7 import android.os.Bundle;
 8 import android.view.Menu;
 9 import android.widget.ListView;
10 import android.widget.SimpleAdapter;
11 
12 public class MainActivity extends ListActivity {
13 
14     @Override
15     public void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_main);
18         ArrayList<HashMap<String,String>>list =new ArrayList<HashMap<String,String>>();
19                HashMap<String,String> map1=new HashMap<String,String>();
20                HashMap<String,String> map2=new HashMap<String,String>();
21                HashMap<String,String> map3=new HashMap<String,String>();
22             // ListView listView=(ListView)findViewById(R.id.list);
23               map1.put("userId", "100001");
24               map1.put("userName", "用户一");
25                list.add(map1);
26               map2.put("userId", "100002");
27              map2.put("userName", "用户二");
28                list.add(map2);
29               map3.put("userId", "100003");
30                map3.put("userName", "用户三");
31              list.add(map3);
32              //定义一个SimpleAdapter,每一个行有两个TextView,分别显示userId和userName
33               SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,R.layout.user,
34                new String[]{"userId","userName"},new int[]{R.id.userId,R.id.userName});
35               //为ListView添加适配器
36               setListAdapter(simpleAdapter);
37               //listView.setAdapter(simpleAdapter);//设置listView背后的数据为simpleAdapter。
38     }
39 
40     @Override
41     public boolean onCreateOptionsMenu(Menu menu) {
42         getMenuInflater().inflate(R.menu.activity_main, menu);
43         return true;
44     }
45 }

 

activity_main.xml
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3    android:orientation="vertical"
 4     android:layout_width="fill_parent"
 5   android:layout_height="wrap_content"
 6     >
 7     <ListView
 8        android:id="@+id/android:list"
 9         android:layout_width="fill_parent"
10        android:layout_height="wrap_content"
11        />
12 </LinearLayout>

2
直接继承Activity就可以,不过要找到listView的id,用list的setAdapter,这个在xml中的listView的id不需要一定要设置为android:id
 
 1 package com.example.text;
 2 
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 
 6 import android.app.Activity;
 7 import android.os.Bundle;
 8 import android.view.Menu;
 9 import android.widget.ListView;
10 import android.widget.SimpleAdapter;
11 
12 public class MainActivity extends Activity {
13 
14     @Override
15     public void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_main);
18         ArrayList<HashMap<String,String>>list =new ArrayList<HashMap<String,String>>();
19                HashMap<String,String> map1=new HashMap<String,String>();
20                HashMap<String,String> map2=new HashMap<String,String>();
21                HashMap<String,String> map3=new HashMap<String,String>();
22              ListView listView=(ListView)findViewById(R.id.list);
23               map1.put("userId", "100001");
24               map1.put("userName", "用户一");
25                list.add(map1);
26               map2.put("userId", "100002");
27              map2.put("userName", "用户二");
28                list.add(map2);
29               map3.put("userId", "100003");
30                map3.put("userName", "用户三");
31              list.add(map3);
32              //定义一个SimpleAdapter,每一个行有两个TextView,分别显示userId和userName
33               SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,R.layout.user,
34                new String[]{"userId","userName"},new int[]{R.id.userId,R.id.userName});
35               //为ListView添加适配器
36               //setListAdapter(simpleAdapter);
37               listView.setAdapter(simpleAdapter);//设置listView背后的数据为simpleAdapter。
38     }
39 
40     @Override
41     public boolean onCreateOptionsMenu(Menu menu) {
42         getMenuInflater().inflate(R.menu.activity_main, menu);
43         return true;
44     }
45 }

 

 
activity_main.xml
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3    android:orientation="vertical"
 4     android:layout_width="fill_parent"
 5   android:layout_height="wrap_content"
 6     >
 7     <ListView
 8        android:id="@+id/list"
 9         android:layout_width="fill_parent"
10        android:layout_height="wrap_content"
11        />
12 </LinearLayout>

 

posted on 2012-10-12 16:49  liyajun2012  阅读(342)  评论(0编辑  收藏  举报

导航