数据源不同而已 
1. String[]: ArrayAdapter 
2. List<Map<String,?>>: SimpleAdapter 
3. 数据库Cursor: SimpleCursorAdapter 

使用ArrayAdapter(数组适配器)顾名思义,需要把数据放入一个数组以便显示。 
android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字 

SimpleAdapter能定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框) 

//=============================SimpleAdapter========================== 

public class List3 extends ListActivity {   
       
    List<Map<String, Object>> list;   
    
    @Override  
    public void onCreate(Bundle savedInstanceState) {   
       super.onCreate(savedInstanceState);   
          
       list = getListForSimpleAdapter(); //list为数据集合 
    
       SimpleAdapter     adapter = new SimpleAdapter(this, list,   
R.layout.item,   
       new String[] { "BigText", "LittleText", "img" },    
new int[] { R.id.BigText,R.id.LittleText, R.id.img });  

        //可以想成把一个放好数据的布局文件放入本界面中   
       setListAdapter(adapter);       
    
    }   
    
    private List<Map<String, Object>> getListForSimpleAdapter() {   
    List<Map<String,Object>> list=newArrayList<Map<String,        Object>>(3);   
           Map<String, Object> map = new HashMap<String, Object>();   
           map.put("BigText", "Android");   
           map.put("LittleText", "Google phone.");   
           map.put("img", R.drawable.n);   
           list.add(map);   
    
           map = new HashMap<String, Object>();   
           map.put("BigText", "Lenovo");   
           map.put("LittleText", "Ophone");   
           map.put("img", R.drawable.o);   
           list.add(map);   
    
           map = new HashMap<String, Object>();   
           map.put("BigText", "Droid");   
           map.put("LittleText", "Motorola");   
           map.put("img", R.drawable.droid);   
           list.add(map);   
    
          
       return list;   
    }   
}   

//==============================SimpleCursorAdapter=================== 

注意:SimpleCursorAdapter是和数据库有关的东西,而sqlite数据库所要求的 自动增长的 id  必须是 _id这中形式 

public class List2 extends Activity {   
       
    private ListView listView;   
    @Override  
    protected void onCreate(Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);   
    
        listView=new ListView(this);   
       Cursorc=getContentResolver().query(People.CONTENT_URI,   
       null, null, null, null);         
        startManagingCursor(c);   
    
        ListAdapter adapter = new SimpleCursorAdapter(this,    
                 android.R.layout.simple_list_item_1,   
                 c,    
                 new String[] {People.NAME} ,   
                 new int[] {android.R.id.text1});    
        listView.setAdapter(adapter);   
setContentView(listView);   
}   
}