ListView

ListView的学习

listView是手机中重要的一种组件,它以垂直列表的形式显示所有的列表项。

如图所示:
这里写图片描述

是怎么实现的呢?

其中重要的是数据适配器:ArrayAdapter,SimapleAdapter

1,新建一个适配器


ArrayAdapter有三个参数:
1,上下文,
2,当前listView加载的每一个列表项所对应的布局文件
3,数据源

arr_adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,arr_datat);

SimapleAdapter有五个参数
1,上下文
2,数据源
一个Map所组成的List集合,每一个Map都会对应ListView列表中的一行
每一个Map(键值)中的键必须包含所在from中指定的键
3,自定义的布局文件的id,R.layout.item这里是我们自定义的一个布局文件
4,Map中的键名,String类型的
5,绑定数据视图中的id,与from成对应关系,,int类型的

simp_adapter = new SimpleAdapter(this,getData(),R.layout.item,new String[]{"pic","text","text2"},new int[]{R.id.pic,R.id.text,R.id.text2} );

数据源:

private List<Map<String,Object>> getData(){
for (int i = 0;i < 20; i++){
    Map<String,Object> map = new HashMap<>();
    map.put("pic",R.drawable.demo);
    map.put("text","小明"+i);
    map.put("text2","小明"+i+i);
    dataList.add(map);
}
return dataList;

2,适配器加载数据

就是把数据源加载到适配器中

3,视图加载适配器listView.setAdapter

    listView.setAdapter(arr_adapter);
    listView.setAdapter(simp_adapter);

监听器

 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
       @Override
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
           String text = listView.getItemAtPosition(position)+"";
           Toast.makeText(MainActivity.this,text,LENGTH_LONG).show();
       }
   });

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值