ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
数据源不同而已
1. String[]: ArrayAdapter
2. List<Map<String,?>>: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter
使用ArrayAdapter(数组适配器)顾名思义,需要把数据放入一个数组以便显示。(文/java)
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);
- }
- }
//====================ArrayAdapter===================================
- public class List1 extends Activity {
- private ListVeiw listView;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- listView=new ListVeiw(this);
- listView.setAdapter(new ArrayAdapter<String>(this,
- android.R.layout.simple_list_item_1, mStrings));
- setContentVieww(listView);
- }
- private String[] mStrings = {
- "Abbaye de Belloc", "Abbaye du Mont des Cats",
- "Acorn", "Adelost", "Affidelice au Chablis",
- "Aisy Cendre", "Allgauer Emmentaler", "Alverca",
- "Ami du Chambertin", "Anejo Enchilado", "Anneau
- "Aragon", "Ardi Gasna", "Ardrahan", "Armenian
- "Asadero", "Asiago", "Aubisque Pyrenees", "Autun",
- "Babybel", "Baguette Laonnaise", "Bakers", "Bal"};
- }

浙公网安备 33010602011771号