Android SimpleAdapter学习反思

  1. 通过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;

}

 

  1. 先创建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的两种方法

理解两种布局:

  1. 整体布局是要显示在哪个页面中的布局,整体布局常在setcontentview中使用
  2. 表项布局是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;
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值