00:00
好,接下来呢,我们来实现这个群主啊列表页面,也就是这个页面,看一下这个页面在这个程序中呢,啊,点击这个群主条目就会跳转到群主列表页面啊,那大家分析一下这个页面怎么来绘制。整体是一个什么布局啊,垂直线性布局上面呢,有一个创建群组的一个条目。下面呢,包含啊群的每个群的详详情信息,啊群信息包括这个群头像,还有群名称。啊。那么大家想这个布局怎么来实现呢?嗯。大家说可以这样来实现,首先呢,上面这一部分就是EZUI的探棒啊,下面这个整体这些部分我可以都把它变成list view啊,但是那个创建群和下面这个不一样,那怎么办呢?我把它变成list view的头部局。啊,添加进来,下面这一块整体是一个类,就这么来实现,好我们来实现一下代码。
01:08
到这儿。来到这个群列表一面,然后呢,开始绘制它的布局。整体啊,是一个垂直线性布局啊。那这个就变成linear layout。把它删掉。垂直方向,那就是orientation。里面呢,放一个头部局。Title。啊,就他。抬头棒,然后呢,这个宽度迈去。啊,慢高度呢。是包裹内容。啊,包括内容,然后呢,复制一下名称APP啊T。然后out加回车,生成一下属性title bar里面呢来一个群主列表文字。
02:06
这样呢,这个头布局啊就显示出来了,接下来呢,我们来绘制的就是下面这一部分啊,我先给它放到list view上面呢,来个动态添加的头啊。宽度match,高度match。要想操作这个例子,Will必须给他来一个idd LV当前是group。啊,List这个模块啊,好,Ctrl c ctrl e。回到这个的这个页面,然后呢,初始化并。Out加回车啊,生成这个病。之后呢,初始化一下private list。然后呢?FBI拿到这个list view对象之后呢,我还想把这个头布局添加到这个list view中啊,那怎么实现呢?
03:10
啊很简单,为点infl啊,添加这头布局,来一个上下文啊,传一个this。对。然后呢,加载布局a layout。第二。否布局,那就是hier。啊,还点什么呢?The roof。Group。这部局。然后来一个空闹。二加飞车。啊,生成这个头部距。啊。然后呢,将这个头部局添加到这个list view中。They said。I had a Bill。然后把这个hi will传进来,然后呢,我们来直线一下这个布局,Out加回车。
04:06
生成一下这一部曲长啥样呢?哎,特别特别简单。就这么一个水平线性布局,左侧一个image view,右侧一个text view啊,轻松搞定。好,我们来实现一下。整体是一个。啊,先包裹内容吧。啊,水平方向。线性布局,左侧一个一米宽度,来一个50DP。高度50DP。嗯。然后添加一下资源src。主宝下面的啊,目前这张图片我们没有,那么我们去找一下。去这里面找一个它啊和它乘C。粘到这个主页报下面,嗯,CTRLV下面这个文件夹,OK。啊,需要覆盖,那覆盖一下这里面的em。
05:05
啊,就是它看一下。啊,就是他吧,嗯,然后呢,右侧是一个text view创建群主。帮我们实现一下。Text view,宽度包括内容,高度包括内容。内容。创建。群主。字体呢,有点小,那么text size来一个20SP。然后呢,让它居中gravity center。让这个整体呢,啊有点距离,那就拍定一下,拍点5DP。啊,这样能好一点,然后呢,让这个文字距这个图片啊有点距离marin left。来一个5DP。那大家再分析一下这个布局中啊,有哪些要操作的空间呢?啊最终啊,我们就是实现点击这个条目,然后创跳转到创建群主这个页面,那么它整体作为一个。
06:13
超出对象,那么就给他一个整体的iddll。当前是group list的模块啊,还来了,OK,搞定。啊,好,返回来。返回到这啊头布局已经添加完毕了。添加头布局啊头布局。啊,可以移下来啊这一块。头部添加完毕之后呢,我开始初始化这个list view。加回车。嗯,初始化这个病。List will.set adapter,你不显示数据吗?那就需要一个adapter。目前我们没有adapt,那就需要new一个。
07:04
Group。累死。Adapt。然后呢,里面我给传一个上下文。创建一下奥特加飞车。啊,在这吧,啊加回车生成这个adapter,将这个adapter传到这个list,没有中。然后呢,我们创建一下这个单适配器在哪呢?在这里面。又一个。然后继承base adapter out加回车实现一下。然后呢,形成一个构造,Out shift加S。里面传一个上下文。Contest。Private contest IM contest。啊,接收一下。
08:01
啊,这个初始化工作呢,我们就基本做完了啊,备注一下。群主列表。的适配器。啊,四边形,我们再回到这个页面。啊,回到页面之后呢。我们开始啊实现呢,具体的实现一下这个GR啊,Group list adapter adapter,那这个adapter要想展示数据,它就必须需要数据啊,那需要一个什么数据呢?大家看一下。他需要一个你这个群的啊头像和图标啊,和这个名称啊,这里呢,这个头像呢,我们不做处理了,只对他这个名称作为处理,那就需要一个啊群的信息。那这个信息哪里有呢?哎,这里有环信给你提供了一个。Private。
09:00
List。啊,这个数据什么类型呢?Em group啊是这个群的类型。那好,那MM'的。啊,定义这么一个集合,另外一个list。它的数据是这个类型啊,大家记一下啊,是它,那么我就需要将数据传到这个集合中啊,有两种方式,一种是通过构造,另一种是通过这个刷新的方法啊,这次呢,我们通过刷新的方法。抓新方法啊,传进来那就是public。VYDREFRESH。嗯。里面传递过来一个集合数据。把它呢变成group啊,小写的之后呢,传递过来数据啊,一定要先校验,首先校验一下groups等不等于空,如果它不等于空,切切什么呢?切个ro.size。
10:04
大于等于零,哎,我再进行处理。然后呢,怎么处理呢,把它拿过来,首先要清空我这个集合的数据啊,清空数据,然后我再向这个集合中添加我数据。第II的什么?一定是I的O啊,I乘C等暂停过来,数据发生变化一定要哎,刷新页面通知一下刷新页面。这样呢,这个方法啊就搞定了,接下来呢,我们开始实现这下面的具体的四个方法啊,首先呢,就是这个get point。那么呢,M格RO斯点S啊,为了进一步安全起见,那就是M格RO斯等于等于空,问号等不等于空啊,等于空,那就等于零不等于空,直接掉它的S。这样能更安全一点,那到下面呢,获取当前item I group.get。
11:06
获取到当前item,好,下面这个呢啊。之后呢,就到了这个最复杂的页面啊,处理逻辑就是get view,这里面一共分几步,大家还记不记得?这是一共分四步,或许。啊,创建吧,创建或获取啊,We hold。然后呢,第二步是。过去。当前it数据。第三步,展示数据啊。第四步,别忘了,千万千万别忘了啊,返回数据。啊,返回数据。那我先为了这个防止出错,把这个返回数据提前复制过来啊。然后呢,我创建一个holder啊。
12:01
Private。Class。Will hold。抵押啊,好的。好,这后头有什么数据啊,暂时先不管,先定一个后头。等于now。答案,If convert will。等于等于空啊,干什么呢?Holder创建一下,等于new一个weholder。然后呢?Convert view等于什么?啊,等于will inl加载一个布局,传递一个三角文。阿雷奥。第2ITEM啊,定一个。Group list啊这布局,然后呢,来一个now。啊,加载这布局,那么我们来生成一下这布局,Out加回车创建一下。大家分析一下这个布局啊,整体是一个什么样子的。
我来说两句