00:03
下面来实现我们的两个功能。啊,第一个呢,是关于点击的。就给view它的某一个所有的item设置一个点击监听。来试试。嗯。来。做一个这样的事。啊,那肯定是去用这个视图对象的,什么shirt on。什么方法对吧,那是他吗。首先是第一个吗?不是我们是要监听它对那个item的点击啊。嗯,大家看的。是不是这个啊,除了item点击还有什么是不是长按呢?哎,我们先来一个点击。来这个点击呢啊,有很多的方式,你可以用六,也可以用this,也可以用成用变量,其实这个都没问题啊。
01:06
啊,我溜一个试试啊。是adapt you啊。好。干嘛呢,CTRL加一不行对吧,是应该什么。没有打包。来再看一加一。是不是实验方法,嗯,好啦。来在这里面呢,有一个非常重要的东西。Position。在这里面我要跟大家说明一下这里面的一些参数啊,把参数给大家说明一下,因为这个方法用的比较多。首先,他是谁?你说这个是谁的视图是谁啊?就是我们的list view,当前就是list view啊,但以后不一定list view。我又是谁?
02:03
啊,就是当前行的什么,是不是视图对象啊啊或者item视图对象也行啊好,下面还有一个position是不是当年的下标啊,当年的下标最后一个大家不用管啊。好,来。下面呢,我想做的功能是显示当前行的应用名称。提示当前行的。应用名称。那你先得得到那个名称吧,也就说我要得到当前行的应用名称类,这个怎么得。对吧。当前行,首先得说那个应用名称数据放哪个里面了,是不是date呀?
03:04
Date里面是根据什么来取数据的?是不是下标哇?我这里面就有下标啊垫上传一个position。我想得到的是APP name。得到了吧,接着才是提示呗。提示用我们的post。来一个mainactivity。点this。A name。来一个零点秀。可以吧,好,来看看这功能不行。So。联系人啊。电子邮件。再来一个够了,差不多了啊,相机都可以。
04:02
啊。下面我们还有功能,下面是给list view呢设置item的长按监听。在这个监体里面做的工作就比较特别。特别在哪了?删除当前行。来,我们先加监听再说啊。怎么删除?再想办法来list view.on item,这一次我传一个this。过去意思CTRL加一。Up。啊,左看见一。好了。搭一下啊来。还记不记得这个地方要返回什么呀?醋啊,要不返回处有什么问题?是不是长按和点击都有可能同时触发呀,嗯,好,这个时候啊,我们要实现的功能是删除单行,那怎么样删除单行呢。
05:14
当前行目标是干这个事对吧。啊,这个地方大家想啊,首先你得想我数据,我每行显示是根据什么来显示的。啊,是根据当前的数据来显示的。是吧,诶。我能不能把那个数据给删掉,再更新一下列表了。是这意思吧,我最终的目标确实是要删除当前行,但是我可以曲折一下删除当前行的数据,接着更新列表,是不是让它重新显示一下?好,来删除当前数据,这个应该来说好做,因为我有position,我有一个date。
06:08
根据position去删除集合里面数据那个小case吗?Remove,传一个position对吧,下面就是要更新列表。前面我们说过,显示列表用什么呀?IV。点set传一个吧。这叫显示列表。就初始化显示列表。啊,你说这前置列表是不存在的吧,那更新列表是列表现在有了,我现在只需要让他重新刷新一下。那怎么刷新呢,这个地方啊,前面没跟大家说这个方法。后来加了一下来看。更新列表用的是adapt的一个方法。啊,它有一个方法叫notify什么意思。
07:03
通知,通知什么呢?Set什么意思?数据集合change。是不是改变了呀?嗯,来试一下先我们测一下啊,Adapt我也有点not。Data set。线。啊,通知更新列表。来试一下看看啊,会不会有一个好的现象啊。来是一个长按联系人。怎么了?但是这个应用删掉没有。没有,我只是删了那个数据对吧。是不是可以啊?嗯,啊,看起来挺酷啊。
08:03
啊,这个要提示一下是吧,提示一下那不是对你来说。这就小事一桩啊。好来,你说我问一下大家啊,我用这个行不行,这个有点意思啊。我想用它看看。你说行不行?你说效果有没有?啊,有没有。大概。走。删掉了。大概。来。我删除这QQ走。喂。对呀,这就是我的最大疑问,怎么跑上去了啦?对吧,明显我刚才是在下面在上呐,为什么跑到上面来了。因为你重新显示了嘛。他当然跑上面啊。对吧。就说他会不会呢。
09:02
他不会。是吧,来滑到下面一点。走,你。是不是还在这啊?嗯。这不可以吗?对不对。记好了吧,嗯。这是你看到的表面现象,表面现象就是如果我是设置adapt,那就是不是回到初始位置显示列表啊。那如果我是通知唤醒呢?是不是当前位置更新呢?就是看到了啊,记住了,就是看到一个表面现象,这个表面现象也挺重要的。它还有背后隐藏的一个现象。什么现象呢?我得写个打印信息,大家才能看得到。我在这里面呢,写一个日志输出。
10:03
啊,这个也是挺重要的,这个东西大家看啊,我来一个get view方法啊,这个呢是再去加载啊,加载position,加载它们加载视图吧,这是一个no啊layout。好来看啊,我们看它。现在当前是用的notb吧。啊,是不是开始最先都是在加载吧,因为最先N加一个嘛,还有应该有一个。是有一个,嗯,接着你再看我再往下面滑,它还有没有。有没有?没有了吧。好啦。现在你来看我,这一次我长按它是不是要消失一个。那会不会去加载布局呢?
11:01
从现象来说是不会的吧?那好啦,大概我要把它。给它去掉。加载布局好啦,来,我先划一下,把它给清掉一下,下面。找你。是吗?啊,这个有就是说我的这一个通知更新,它是会使用缓存的吧,使用啊所有缓存的啊item视图看what of you吧,啊item的视图对象,嗯,但是它会使用吗。不可能他不用,其实你其实你内存里有对吧,各个item的布局对象是不是都已经存在里面了,但他不会用。这不就浪费吗?
12:02
对吧。这是后背后它的一个区别。啊,大家需要注意,所以我们一般肯定是用它。不用上面的。这个大家需要去注意一下啊。
我来说两句