SimpleAdapter是 BaseAdapter的子类,其填充数据的方式是在SimpleAdapter创建的时候将数据填充进去。 原理:SimpleAdapter首先获取datas里面的数据,通过position找到找到每项的Map<String,String> 通过倒数第二个参数获取每项的实际值,将其绑定 到子项的子控件里面去。

代码

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView=(ListView)findViewById(R.id.listViewId);
//什么时候使用SimpleAdapter都可以
//1.准备数据
ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for(int i=1;i<7;i++){
//表示每一项数据
HashMap<String,Object> map=new HashMap<String, Object>();
map.put("图片", R.drawable.a1);
map.put("文字", "测试SimpleAdapter");
data.add(map);
}
//2准备好布局resource---找到布局下的子控件---数据更控件进行绑定
//to放控件id
SimpleAdapter adapter = new SimpleAdapter(
this,
data,
R.layout.list_view,
new String[]{"图片","文字"},
new int[]{R.id.iv,R.id.tv});
listView.setAdapter(adapter);
}
}