00:00
啊哎,刚才这个呢,我们也仅仅算是一个小插曲啊,哎,我们重点过来还是要说一下我们当前要做的一个重头戏,就是来体会一下呢,呃,我们的这个,呃,Adaptor它的一个抽取的一个情况。啊,一个抽取的情况啊,这呢,我们还回到咱们呃最初的这个product list这块啊,呃这块呢,是我们说呃最朴素的一种造和的一种方式。啊,在这个里边呢,我们需要呢,去重写它的这么多的这些方法。啊,方法还是很多,那你细细去看一下的话呢,我们发现这些方法里边呢,像至少这三个是不是全都一样呀。哎,那就意味着呢,如果我们,呃,在这个应用当中呢,会有很多的list view。那有很多类似view呢?每一个都这样去写,你发现呢,是不是就存在着冗余了?那既然这样,我们就考虑说,哎,既然每一个你造的具体的这个啊,单ER里边都会有一些同样的代码,那不妨呢就抽出来了,所以我们这个待呢啊也照样呢,是可以做抽取的,那下边我们就来做这个抽取操作,那A待ER的一个抽取啊。
01:09
就是我们这里边的下边这个要说的这个事情,行,嗯,首先呢,我们先造一个具体的啊,我叫做这个my face。啊。啊,My base,然后他呢,去继承于base。啊,那它呢,是作为一个比较通用的一个单出现的啊,那回头你到底加载的什么数据呢,是不是也不太确定啊。所以我们这呢,用了一个泛型。哎,用了个泛型啊啊,具体到我们这个问题当中,比如说product了,那你这个T呢,就是product,那回头可能还不是,所以这呢,通过泛型去区分啊,来实现它的这些方法,OK一下。啊,那同样的话呢,你这个要处理的话呢,它这里边不也得是涉及到集合数据嘛,哎照样呢也是在这挺好,就像你每一个这个,哎你这个呢叫product adapt,还有其他的char adapt,每个里边呢,都会类似于这样的方式去写。
02:13
嗯,那不妨我们在这里边呢,我也呢声明一个叫private list里边放的是什么呀。T吗?啊,就是T啊啊这呢是一个list。然后呢,是不是还是通过这个构造器,哎,初始化一下这个几何数据啊。哎,这个呢,套路不变啊。通过。构造器初始化集合数据,嗯,行,那下边的这些方法的话呢,其实呢,就套路就有点接近了,不管你回头造的是什么样,具体的my base adapt。那这些呢,其实都类似,都这样来写。等等于no根号零,括号对的点三等一下。
03:02
哎,绿点get。Position一下,这position一下,哎这些呢都是一样的啊,那关键呢,就是装备数据这个问题是不是有所区别了。啊,你不同的这个,呃,你你应的这个item这个布局不一样,那回过来呢,这个可能的view呢就不一样,那你这个气不一样的话呢,里边对应的这个属性呢,多少也不一样啊,名也不一样,怎么把这个呢装到这里边,那千差万别。那所以这块呢,就没办法写的是不是那么清楚了,那我们可以怎么办呢。是不是既然你不确定了。我是不是就整个抽奖方法呀。啊,这个测算方法就行了。怎么写啊?嗯,这个我写的叫MY。看看吧。啊,在这个方法里边这些。都穿过来啊。
04:01
嗯,这样一下啊,嗯,那这个方法的话呢,嗯,我们去具体的得去造一下是吧,造完以后的话,你把这个考过的view用是不是也得反馈一下,然后重照一下。对吧,啊好,那这个方法呢,抽象。然后CTRLC。搞定了啊,就是因为这个我们不太好具体化了啊,所以我就这样一下行,这个呢,我们抽这个抽取的第一个层面就搞定了,抽取完以后的话呢,我们这块呢,来用一下啊。比如说呢,哎,我们现在呢,来了一个product了,所以我呢需要哎装它一下数据显示到我们这个页面上,哎这个时候呢,我们就造了一个叫product。Adapt啊,我这叫ADAPT1啊。来找到他,嗯,那这这个我们也改个名吧。
05:04
我让他们都这样统一起来啊。我这加给你。哎,这有一了啊,哎,它俩呢是一一对应的,那这个时候呢,我们这个product de1呢,我就让它呢,去继承于MY贝加一这里边,嗯,对在这我是不是就。然后。我这时候就只需要重写这一个方法就可以了。构造器得有。因为人家负类就一个代餐的,你这也得有代餐的了,哎,构造信是不是就这样写?能理解吗?你看哈,我构造题这样写,然后的话呢,回到我们这个product list里面,我这不用这种方式了。但是我当时可以复制一下啊。CTRLC,然后呢注释。的方式二。
06:00
呃使用这个,呃抽呃使用。就就先这样写啊,CTRLV一下,那这个时候呢,我造这个叫PRODUCT1。啊,这个是一。还这样?都加个一吧。那我通过这样的构造器,我实际上调的呢,是我们这个结构啊,那我就把你从这个服务器这块获取到这个集合数据呢,传到这这儿呢,是不是就传给了修会,修会呢,是不是就给实例化到这里了,哎,就相当于就传到这有数据了。嗯,行,那下面重点的话呢,我们就是针对他呢,去重写的一个方法啊。嗯,那重写这个方法。针对于我们这个问题来讲,实际上是不是就跟我们那会儿写的这里边儿。这个其实是不是一样啊,就。啊,不过这块我写了一个这个,那我们就从这展呗。我这就不粘这个不同类型的了啊啊,那就直接从这块开始开刀,然后一直呢,就就到这啊,然后开C一下。
07:03
哎,这样一下,然后上一点这样一下。C。Control。啊,这个位置的话呢,看看啊。哎,这是一个Y的。啊,这是个word,那我们把这个就删掉就行了吧。Product list这个呢是从是不是你这个my best1里边拿到的,所以把这个权限呢给大一点,这个呢叫list,那就叫list了。就这么着。看看能理解不?嗯,就相当于我们在这个,呃,他去调方法的时候呢,你造的是这个对象哈,几个方法都会调,那调到第四个方法的时候。第四个方就掉它了,掉它呢,你这是重写了,那就回到这那一重写这呢,我们就把这个,哎课文的view呢都装上了,装上以后呢,在这返回一下。
08:02
哎,就这样个过程,哎,这就完事哈,其实这个方法呢,具体到这儿,我们没有动原来的那个。Get啊。那那回到我们这个product list里边呢,这我已经改了啊,考一下只要能考成那就对。啊,点开。啊,挂了挂了呢,那说明有问题。啊,终于出问题了,我们可以再学一学了,是吧?看一下出什么问题。这个没有怎么具体的一个变蓝色的。他没有给我们报出来具体的这个出现在哪一行。这个还是比较郁闷的。自己来看一下。
09:00
嗯,在这里边我们给他这样去扭了一下,在这呢,就叫这个这个呢,它就进而帮我们把这个里负类里边的这个例子呢给初始化了。好,这时候呢,就都有东西了。嗯,有东西以后的话呢,我们从这里边呢,就开始调一个一个的方法,这呢是从这个里边呢传过去的。嗯,他。这样的一个结构啊,在这呢,我们再接收一下这个view。然后呢,把这个view呢,我们CTRLC这样返回一下,这呢就是一个view。这样的一下的啊,然后回到我们这个里边呢,把这呢改成一个will。然后把这个呢,CTRLC。看过了没有?
10:01
这样。这个应该就可以了。是吧,哎,这就可以了啊嗯,其实我觉得这个按说他应该能过才是。嗯,这里边儿原因呢,其实也比较简单,刚才那个我们光写的也没有具体深入里边去看了哈,诶为什么这时候必须要接收一下。嗯。哎,对,就是我们这个对象哈,如果它有对象,就是我们在这个写代码当中,它是一个引用类型变量,然后呢,我们把它传到一个方法里,然后在这个方法里边呢,你可以对这个变量所对应的这个对象的属性,你想怎么改就怎么改,是吧,改完以后的话呢,再返回这个对象,呃,你接收也好,接收的时候呢,就是这个对象,那这块呢,还是对,这时候其实你可以不去接收了,但就怕你中间呢去是不是用new对象呀。
11:04
这一扭是不是就变了?是吧,所以说这个里边呢,我们刚才你要是没接收这个可能费用呢,相当于还是系统给我们提供的,你前几个都是now,后边呢恰恰给造了几个,哎,可能没有对象,而我们这里边呢,是已经又重新造对象了,所以我们需要呢,返回是我们造的这个对象。啊,因为这个引用的地址已经变了,对吧?好,这是我们说的这个抽取的这个一这个层次。
我来说两句