- 通过List数组(Map泛型)创建数据源,建议通过自定义getdata()返回list集合使代码易读
private List<Map<String,Object>> getdata(){
List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
Map<String,Object> map = new HashMap<String, Object>();
map.put("title","智能合约图标");
map.put("img",R.drawable.contract);
list.add(map);
map = new HashMap<String, Object>();
map.put("title","杭州");
map.put("img",R.drawable.hangzhou);
list.add(map);
map = new HashMap<String, Object>();
map.put("title","目标");
map.put("img",R.drawable.target);
list.add(map);
map = new HashMap<String, Object>();
map.put("title","日历");
map.put("img",R.drawable.date);
list.add(map);
return list;
}
- 先创建String[] from,int[] to然后用SimpleAdaper
String[] from = {"title","img"};
int[] to ={R.id.main_tv,R.id.main_iv};
SimpleAdapter simpleAdapter = new SimpleAdapter(this,getdata(),R.layout.activity_main,from,to);
设置SimpleAdapter的两种方法
理解两种布局:
- 整体布局是要显示在哪个页面中的布局,整体布局常在setcontentview中使用
- 表项布局是Adapter中一行行的布局,表项布局通常也是适配器中的构造参数
注意:导入图片不要选择v24包
完整的后台代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//明确要显示哪个布局中
setContentView(R.layout.quanjulayout);
//找到要显示在哪个List里面
ListView lv = (ListView) findViewById(R.id.qj_list);
//2、先创建String[] from,int[] to然后用SimpleAdaper
String[] from = {"img","title"};
SimpleAdapter simpleAdapter = new SimpleAdapter(this,getdata(),R.layout.activity_main,from,new int[]{R.id.main_iv,R.id.main_tv});
// lv.setAdapter(simpleAdapter);
lv.setAdapter(simpleAdapter);
}
//1、创建数据源
private List<Map<String,Object>> getdata(){
List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
Map<String,Object> map = new HashMap<String, Object>();
map.put("title","智能合约图标");
map.put("img",R.drawable.contract);
list.add(map);
map = new HashMap<String, Object>();
map.put("title","杭州");
map.put("img",R.drawable.hangzhou);
list.add(map);
map = new HashMap<String, Object>();
map.put("title","目标");
map.put("img",R.drawable.target);
list.add(map);
map = new HashMap<String, Object>();
map.put("title","日历");
map.put("img",R.drawable.date);
list.add(map);
return list;
}
}