00:00
好,接下来呢,我们来完成一下这个view的适配器,适配器也就是这个界面。啊,当前这个页面就是将这个数据进行展示啊进行展示。好,接下来呢,我们看一下代码。来到这啊,那么既然你这个适配器想展示数据,那么你就一定要有数据,那么这个数据是什么类型的呢?啊,数据什么类型的,大家想一下。看到他什么能满足他的要求呢?比如说这个是头像,这下面呢名称,那么是不是我给他一个好友的联系人就搞定了,哎,里面就可以封装他的所有信息,好,那么就给他一个u in,来一个m user斯。就这四等于又一个list啊。就拿它。拿它之后呢,我可以通过构造方式传递来,数据也可以通过刷新方法传递过来,啊这里面呢,定一个刷新方法。
01:08
刷新数据,定一个public v idre ref。啊,通过它传递过来数据。复制。把它呢变成优斯,既然有传递过来数据,就一定要对它进行校验。如果优斯。嗯,不等于now,且user.size大于等于零的时候,我再进行进一步的处理。首先呢,我可以将这个总的数据将它清空加啊。接下来我是不是就要添加这个数据了,添加这个数据之前啊,给大家分析一下这个事情。我这个加号和减号怎么处理?
02:00
这个加号和减号。啊,怎么就让他一直在后面,而且还有这个啊,跟其他的不太一样啊,不太一样。爱,有同学说了,我要不断的往这里艾特这个view at view动态添加啊。是否有更好的方法呢?可不可以把这个加号和减号也认为是每一个item的数据呢?而且它仅仅是头像,哎,是不是就可以了。大家慢慢理解一下啊,这个问题我可以把它当成数据处理啊,也就是当成联系人。这样,那么我们处理来处理起来呢,就更加的容易。好,我们处理一下,那么这个地方呢,处理一下添加加号和减号定义方法。尤。奥加回车创建一下。
03:00
那么在这方法中我要做什么事情呢?首先定义两个对象,U in啊,第一个就是爱。到家回撤,然后呢,我再定一个U缝。Delete。Ret。二回车啊,第一这两个方法。然后呢,我将这两个对象添加到这个集合中点。爱的时候有说法了啊,先爱的谁?哎,大家分析这个问题,我怎么能让这个加号和减号始终在这个数据的后面,而且呢,让这个减号始终在这个加号的后面。怎么实现,那这样我首先先添加一个加减号啊,先添加好之后呢,我这样去添加点I0,然后呢,At。大家看一下这是什么含义?
04:01
是不是这样啊,我首先向这个集合中添加了一个减号,那么它在这个集合中的位置就是零号位置啊,然后呢,我就向这个集合中添加了一个I。这个艾呢,我把它放在零号位置,那么是不是就把你它把它给。向右移了,那么这个加号是不是就占据了这个零号的位置,那它变成了一。然后呢,如果我在这个集合里再添加数据,比如说添加它,我再把它们这些数据都往零号位置添加,那么其他的是不是以此类推,再往后增加呀,一个一个往后推,这样就能实现了这个数据的这个排序,保证所有的联系人在前面啊,加号在后面,最后的是减号啊,就实现这个过程,这个过程大家一定要理解了啊。好,接下来开始添加数据mu.io。
05:00
把所有数据都添加到零号位置。啊。这样呢,就能实现这个数据的这个效果。好,数据更新完毕之后,别忘了刷新页面刷新。这是数据。数据拿到之后,我们就可以处理这个适配器的四大方法,第一个等于,等于呢,嗯。如果等于那零啊,else.set这个下一个获取当前数据m.get place。好搞定,下一个直接返回。再往下就是get view,一共分四大步。第一步。获取或创建。
06:03
不要获第二步,获取当前item数据,第三步,显示数据第四步。返回will啊,返回view,也就是把它返回。接下来呢,我们创建一下这个we holder private class we hold hold样啊。好,里面的字段一会再写。首先第一步,Holder holder等于now。If will等于等于空holder等于new,一个will holder。
07:02
然后呢,Convert病等于等于什么呢?加载一个布局TRY,一个上下文r layout。啊,点点什么呢,Item detail啊。好,传一个空。接下来呢,我们来实现一个这个布局。Out,加回车。啊,这个布局此前,这布局之前。我们先分析一下这部剧啊。点击减号,大家看这个布局怎么实现。是不是整体可以来一个相对布局啊啊相对布局,那么这个头像和这个名称呢,我可以来一个线性布局,垂直方向的上面一个image view,下面一个text view,然后呢,将这个小圆点啊减号。
08:02
放在这个in the out上面啊,也就是通过这个相对布局这个属性把它放在上面,这样是不是就实现了这个布局啊,啊好,那我们来实现一下,最外层是一个相对布局。那他就没用了,它呢,变成包裹内容。Web content。然后呢,首先来一个线性布局。宽度。包裹高度包裹。里面呢,第一个来一个图片。50吧DP。50DP倒下资源src。嘴报下的em。Default头像啊,这样就进来了,进来之后呢,我们再来一个啊,也就是它的名称。
09:01
包裹包裹。再。还有什么呢?名称啊,这个名称在右边了,那我想想办法让它在它的下面加一个垂直方向,Orient ver。格式化一下,这样呢他就下来了,下来之后呢,我要想让他居中,那就是gra。居中,然后呢,让这个布局整体对外面有点间距,来一个判定。5DP。啊,这样好一点,然后让这个文字呢,距上边有点距离。TOP5 DP。这样呢就下来了,接下来我要实现这个小圆点啊,也就是个减号。它的布局它怎么实现呢?在这个线性布局下边来一个一病。
10:00
包裹包裹。找一下资源SC。嘴巴下面的is。啊,这个是E字UI给你提供的啊,也就是我们导的环信的这个SDK啊,这个包里面给你提供的它。这个小圆点,诶,你看就过来了啊,回来接下来呢啊,我们来处理什么事情呢,这些控件都需要你进行操作,那么我需要给它复制一个ID,首先它。IV,什么呢?Group detail。De,嗯,删除,然后呢,这个是头像DD。Group detail。P ho to。
11:01
接下来呢,是这个名称ddt。Group detail。什么呢,那这样呢,这三个空间啊,我们就画完了,然后呢,获取一下他们的ID ctrl。来到这里面后点。我们还没有对它进行初始化,那给他一下初始化private来一个。啊,头像啊,Private view来一个delete删除的private来一个test view name名称啊。之后呢,我们可以修改了,Photo等于convert view.find will by ID r.id.IV detail photo。回撤,接下来呢,Hold点。
12:01
Delete等于convert view.find willd r.id.I group。删除。接下来呢,是hold点。Name等于convert view.find r.I点。TV group。Detail。啊,Name名称out加回车旋转一下之后呢,将这个hold进行保存,Convert will.set t将后传进来。Holder等于convert view点。Get out加灰色啊强转一下,拿到之后呢,就来到了第二步,获取当前item数据啊,那怎么获取呢?首先你要拿到这个适配器中的总的数据的集合,然后它。
13:05
拿到它之后。最简单了,There get。Out,加回车。这样呢,你就拿到了当前STEM的数据之后呢,你就可以进行进一步的显示啊,但是在这个数据显示的时候啊,要分两种情况,哪两种情况呢?啊一个是。是否允许修改当前这个,如果你是群成员,而且没有对你开放这个群邀请权限,那么你是不是只有这个展示的权限,那你看这个群主他是不是有这个减少啊,还可以有添加啊,添加用户这么等等这个模式啊啊,所以说他俩首先要区分开啊,那你就要区分一下if。Is m is can modify。啊,是否允许修改,如果允许修改,那你表示的是。
14:02
啊,群主。我。啊,开放了群群权限。Else呢?L表示的是啊,就是一个普通的群成员。啊,长。圆啊,这个地方一会我们再写。
我来说两句