3种适配器的区别
BaseAdapter
private ListView lv; lv.setAdapter(adapter); private class MyAdapter extends BaseAdapter { @Override public int getCount() {// 获取一共有多少个条目 return students.size(); } @Override public View getView(final int position, View convertView, ViewGroup parent) { View view = null; if (convertView == null) { // 把一个布局xml文件转化成view对象 view = View.inflate(MainActivity.this, R.layout.item, null); } else { view = convertView; }
}
ArrayAdapter
lv = (ListView) findViewById(R.id.lv); String[] objects = new String[]{"Animation","App","content","Media","NFC","OS"}; lv.setAdapter(new ArrayAdapter<String>(this, R.layout.item, objects)); 安卓提供的 android.R.layout.simple_list_item_1 lv_act.setOnItemClickListener(listener);
SimpleAdapter
List<Map<String, Object>> data = new ArrayList<Map<String,Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("icon", R.drawable.ic_menu_preferences); map1.put("name", "功能设置"); data.add(map1); lv.setAdapter(new SimpleAdapter(this, data, R.layout.item, new String[]{"icon","name"}, new int[]{R.id.iv,R.id.tv}));