【Android Studio学习】7.高级控件ListView和ExbandableListView

ListView

ListView是Android开发中比较常用的组件,它以列表的形式展示具体内容并且能够根据数据的长度自适应显示,列表的显示需要三个元素:

(1) ListView:用来展示列表的视图View;
(2)适配器Adapter:用来把数据映射到ListView上的中介;
(3)数据︰包括具体的将被映射的字符串,图片,或者基本组件。

ArrayAdapter通常用于适配TextView控件,常采用下面的构造方法:

public ArrayAdapter (Context context, int resource,T[] objects); 
//context:表示上下文对象
//resource: ltem布局的资源id
//objects:需要适配的数据

SimpleAdapter通常采用下面的构造方法:

public SimpleAdapter (Context context, List<? ExtendsMap<String,?> >data,int resource,Stringl[] from,int[]to);
//context:表示上下文对象
//data:数据集合
//resource: ltem布局的资源id
//from: Map集合中的key值
//to:item布局中对应的控件

ListView开发步骤:

  1. 设计主界面layout,比如设计activity_main.xml
  2. 设计ListView条目的layout
  3. 设计Adapter,比如设计ArrayAdapter或SimpleAdapter设置Adapter,listView.setAdapter(simpleAdapter)
  4. 设置条目被点击或被选中的监听事件:
    listView.setOnltemlickListener或listView.setOnltemSelectedListener

期望中的页面:上面部分是ArrayAdapter,下面部分是使用SimpleAdapter
在这里插入图片描述
实操部分
主页面layout如下:【linearlayout垂直布局页面下两个listview,权重为1】
在这里插入图片描述
ListView的layout分别如下:其中第一个为ArrayAdapter,第二个是SimpleAdapter
在这里插入图片描述
【排版用了两个linearlayout】
在这里插入图片描述
ArrayAdapter部分的Java代码:
在这里插入图片描述
SimpleAdapter的java代码:
在这里插入图片描述

ExbandableListView【可扩展的】

ExpandableListView是一个垂直滚动显示两级列表项的视图;
ExpandableListView可以有两层:

每一层都能够被独立的展开并显示其子项;这些子项的数据来自于与该视图关联的BaseExpandableListAdapter;
每一个可以扩展的列表项的旁边都有一个指示符(箭头)用来说明该列表项目前的状态(这些状态一般是已扩展开的列表项,还没有扩展开的列表项,子列表项和最后一个子列表项);

和ListView一样, ExpandableListView也是一个需要Adapter作为桥梁来取得数据的控件,一般适用于ExpandableListView的Adapter都要继承BaseExpandableListAdapter这个类,并且必须重写getGroupView和gpetChidview两个最重要的方法。
ExbandableListView设计步骤

  1. 布局文件设计

主界面布局文件的设计
组选项布局文件的设计
子选项布局文件的设计

  1. 设计自定义显示的适配器,继承BaseExpandableListAdapter类;

主要需要实现getGroupView和getChildView两个最重要的方法;
getGroupView和getChildView这两个方法主要是将组数据和子项目数据通过Adpter显示到对应的组界面和子界面上;

  1. ExpandableListView设置适配器,并添加点击事件。

期待中的页面
我的出现了这个错误,别的小测试运行都还正常。我也不知道为啥。
在这里插入图片描述
预期界面是一个类似qq分组的列表。每个人在各自的分组里,分组可以打开可以关闭。点击人物会出现一个提示。

在这里插入图片描述

实操部分
布局如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后新建一个类,显示自定义的适配器。
这里是定义参数和适配器,以及一个方法找到相应的控件
在这里插入图片描述
然后将方法重写
方法的重写快捷方式如下:【将鼠标放在适配器这个方法报错的这一行上,点击alt+shift+enter,出现的界面点击ok就行了】
在这里插入图片描述
在这里插入图片描述
将各个方法重写成如下所示:

在这里插入图片描述
在这里插入图片描述
然后写主函数的Java代码:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值