1.概念
*连接后端数据和前端显示的适配器接口
*数据和UI之间的重要连接
2. ArrayAdapter
ArrayAdapter构造器如下:
ArrayAdapter(Context context, int textViewResoureId, T[] objects) ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
参数分别是:上下文、控件视图、数据
例:
list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list); listview = (ListView) findViewById(R.id.listview); button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listview.setAdapter(adapter); } });
3. SimpleAdapter
SimpleAdapter中每行可以显示多个控件的组合
SimpleAdapter构造器如下:
SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
参数分别是:上下文、数据、控件布局、数据的key、布局中控件的id
例:
data = new ArrayList<Map<String, Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("姓名", "超人"); map1.put("技能", "飞"); data.add(map1); Map<String, Object> map2 = new HashMap<String, Object>(); map2.put("姓名", "蝙蝠侠"); map2.put("技能", "跑"); data.add(map2); String[] from = new String[]{"姓名","技能"}; int[] to = new int[]{android.R.id.text1,android.R.id.text2}; adapter = new SimpleAdapter(MainActivity.this, data, android.R.layout.simple_list_item_2, from, to); listview = (ListView) findViewById(R.id.listview); listview.setAdapter(adapter);
4.方法顺序
创建List数据->实例化Adapter->设置ListView中显示的数据