00:00
好,接下来呢,我们来实现一下啊,群主或开放了群权限这种啊,可以修改的啊,这种数据的展示,也就是这个页面。它啊这种形式带这个加减号的啊,可以进行啊,减少添加啊这个方法,那这个页面怎么来绘制呢。啊,大家一定要养成两种习惯,将它先分类啊,分成哪几类呢?首先要分一下啊,按这个位置,比如说当前这个减号的位置比是二,它是一,它是零啊减号。啊是一类,加号又是一类,这个正常的数据又是一类啊,一共给它分成三类,那按照位置区分,那么先分一下,比如说if。等于等于get count啊减一,那么这个表示是减号啊处理。
01:02
一类一类的处理,Else。If等于等于get count减二,那这个是怎么处理呢?是加号的处理。下面这个。就是其他的普通的成员的处理啊。群成员啊,它的显示先分成这么三大类,而且第一次分类只处理布局啊,不处理业务处理啊,布局的处理吧。第二步才进行点击事件的处理,先分一下啊,这么去分。好,先看一下这个减号的处理啊。
02:03
到这我一点击这个减号。啊,它就可以进行删除了,我不点击减号,我点击回来,诶,它这个减号就显示了啊,就显示显示减号显示的时候呢,它不能进入删除模式。这里面存在了两种状况,一种是进入删除模式和一种没进入删除模式,那这又是一种状态,那我们呢,再定一个标记。Private类型I。Delete Mo删除模式。表示呢可以删除,表示删除。Fuss。
03:04
表示不可以删除啊,不可以删除,这是这个,接下来就根据这个标记去进一步的去处理。首先,如果。啊,它是三重模式,那就是M。E。如果它等于处啊,那表示是删除模式,那么删除模式。大家看一下,这是删除模式,这个减号还存在吗?整个条目都不存在了吧?那么我就这样整个条目进行隐藏convert点。Set visibility啊,整个条目都隐藏,那就是杠啊,Inva吧。自己隐藏else是非三种模式。
04:02
那就回到了这种状态。回到这种状态。这种状态,那么我对它进行显示。很简单吧,根号了没有,先让它都显示,那就是with,整体都显示之后,一个一个数据进行处理,第一个,第二这个头像。点set。Image啊,把这个头像变成这个减号,这个加减号啊,我们把这个资源先导过来,在这里面杠。拿过来con。OK。啊,粘贴过来之后呢,我加载一下这个资源,R点作业包点em啊第一个是减号。这就复制过来了,之后呢,Photo点。减号啊,这个删除删除模式让它显示吗?大家看一下。
05:03
当前这个是非删除模式,有那个小小红红号吗?哎,没有,那这个地方就给它杠掉,接下来hold.name这个名称,点set test。再看一下,下面有这个名称吗?哎,他也没有这个名称,那么我给它隐藏掉invisible。嗯,最近隐藏的。这样呢,这个减号的这个布局啊啊啊不对,这个地方啊set位置吧,啊set位置吧,这样这个减号这个布局是不是就我们就分处理完了。大家看一下这个思路啊,首先我们是先根据这个位置,将这个减号加号和其他群成员先分开。接下来呢,就是根据这个是否进入删除模式。删除模式判断啊判断,如果当前是删除模式,那么对不起,直接将你整个item隐藏掉,如果你不是删除模式,那么你就进行啊,一个一个数据的设置就OK了。
06:11
啊,很简单吧,好,下一个同样的道理,还是三模式判断好,Ifmis model,如果是三种模式。那我干什么呢?整个条目隐藏掉。我还是这样,嗯,让他显示,显示之后呢,我具体的去设置这三个数据啊,三个数据,那么这两个是不是一样的,哎,只是上面这个啊,图标我们要换一下啊,整体拿过来。拿来之后呢,把它换一下em,换成A的图标,这样就可以了。简单吧,看一下好,接下来呢,就是到了这个普通的群成员,群成员看一下他长什么样。
07:09
这种模式。它也是分两种情况,进入删除模式啊和非删除模式。好。首先我先让他啊整体显示。点set。整体让它显示,为什么之后呢,我要让它的名称也让它显示,因为啊之前那个都已经将它隐藏掉了啊,有可能复用的时候将它啊隐藏掉,这里面呢,我给他展示了set visible。来一个with宝显示显示之后呢,接下来我们要分情况,分情况处理,这个减号显示不显示,也就是它让它显示还是不显示if,如果当前是删除模式啊,那怎么办呢?我这个holder点。
08:05
Delete there set with,那我就将它显示删除模式吗?那肯定要显示啊,Else。hold.delete.site read,我就将你不显示关掉。这是减号啊名称,那我们来设置一下。How their name。Set test这个名称怎么来?还记得我们当前item这个数据了吗?啊,拿到它。点啊点get name啊就搞定了,获取到名称,接下来hold点。Photo啊,头像,那我们设置一下头像,Image resource2点作业包下面的em default啊头像默认头像。
09:01
这样呢,我们就啊把这个整体这个布局啊啊就画完了,布局画完之后呢,我们开始处理它的点击事件,点击事件的处理一样,我们还是给他按照这个位置先整体先分一下类啊,思路要捋清。减一啊,当前是减号的位置,减号。然后else if等于等于get count减二,那么这个就是加号的位置。嗯。下一个。就是普通的位置啊,不写了。那么大家想一想,这个减号它有什么点击事件?回来目前显示减号了吧,哎,我一点击减号。啊,它就进入到了删除模式。那么是不是它有一个点击监听啊,哎,这个减号是不是就是它的头像啊,就是头像,那么这里面holder their photo.set on click listener啊,一个on click listener。
10:11
它的点击事件,接下来啊,一会再处理它具体的事件,它这个加号的位置。啊,加号的位置,那么。我一点击这加号是不是也跳转执行它的业务逻辑啊,具体的业务逻辑我先不管,那么我点击的是不是这个加号这个头像啊,哎,那就他po.s。Their photo their set on click listener。又一个uncle listener。接下来到了这个地方。到了他啊,他是谁有点击事件呢?哎,只有这个减号,他有这个点击时间,我一点击减号可以将它删除啊,这里他是群主啊,所以删除不掉这个减号。那么这里面获取的对象就是点。
11:03
Delete。第二,Set on click listener一个on click listener。这是减号的点击事件,嗯。好,这个减号呢,我们先从它开始处理啊,这个点击事件,如果当前它不是删除模式啊,就是不是删除模式,那么我一点击这减号就属于这种状态,它目前不是删除模式吧,哎,我一点击它,它立刻进入到删除模式,那怎么实现呢?如果不是,那我就给你切换到删除模式,它等于处变成处。同时呢,我刷新页面通知刷新页面,这样呢就实现了啊这个效果。我一点击它变成立刻变成删除模式啊,这是这个按钮,接下来呢,这个是加号的按钮,我一点击这个加号。哎,他要执行加号的相应的业务逻辑,那么这里面呢,我不在这里处理它的具体的业务逻辑啊,我通过接口回调的方式来实现,下面呢,这个普通群能源的啊,删除也是,我也不在这里处理这个业务逻辑,我在哪里呢?都在这个,谁实现了这个接口谁来处理。
12:14
啊,那我们首先定义一个接口。Public。Interface啊,Group detail detail listener里面定义两个方法啊,分别是添加群成员。方法。和删除群成员方法啊,定义这么两个方法,首先第一个啊,没有返回值Y的。好添加嘛,那就是I members m em bs members里面需不需要传递参数呢?啊,这里不需要传递参数。
13:08
添加吗?只需要添加就行了啊外啊删除群成员那就是delete。Delete me member那么根据什么去删呢?肯定是要根据你的环线ID啊,对吧,那这里面呢,我们传递来一个当前item的对象数据啊U啊U。这样呢,你就可以知道啊,去删除哪一个了啊好,那你既然定义了接口,那你就要。定一下啊。定义一个全局变量。Private。然后复制一下啊,它然后呢,M啊定义这么一个全局的接口,然后呢,你可以通过构造的方式让对方传递过来。
14:03
嗯,然后他改成嗯。你这边中间加了一个接口,那么在它的适配器中啊,创建适配器的时候,就一定也要增加这么一个接口。这个地方啊。M。啊,有点长是吧。定义这么一个法,LISTENER2次加回车,创建一下。等于又一个group啊,Listener这里面呢,就增加了一个添加群成员和删除群成员这么一个方法啊方法好一会我们来实现它。
我来说两句