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>