标签:convert blank https log 适配 roi 学生 dao 简单
这里以ListView作演示,对于ListView我们再熟悉不过了,其步骤分为:
一、创建ListView的Bean对象
这里以学生信息为例
二、创建ListView的Adapter的ItemView布局
其最终效果为
三、创建ListView的Adaoter
这里采用官网的Adapter推荐写法,【你可以发现:Adapter缓存的只是每个ItemView的ViewHolder】
如果我们需要填充ItemView很多,那么getView()方法里面的代码会变得臃肿,难以阅读和修改,那我们就来美化一下代码吧
四、对ListView设置Adapter
容我一个强迫症的人先把这一点写完
这里我们就只看Adapter的代码美化,具体看getView()这个方法里面的内容,前面说了,Adapter缓存的只是ViewHolder,那么我们抽取这个ViewHolder
我们将中间的getView()里的findViewById()和convertView.setTag()抽取出来,如果要添加新的View,只需要在ViewHolder类中添加即可,我们可以看到不管对View添加多少,在getView()方法中只需要一句话,ViewHolder viewHolder=getViewHolder(convertView)
从上面的代码分析,在我们万能的ViewHolder类需要做什么:
下面我们创建一个ViewHolder类(ViewHolder简单的理解为View的管理器)
ViewHolder类做了两件事情:
万能Adapter很简单,就是在类里面用泛型T表示传进来的Bean对象,剩下的就是调用ViewHolder的事情
我们知道ViewHolder只是做了两件事情,那么我们就可以在Adapter中,雅思考试报名费调用这两件事情
我们看到getView()里的代码还是很多,不美观,根据面向对象的思想,我们可以将其抽取为一个抽象方法,让我们的前台去填充这个View
这个时候getView()里面的代码就只剩下一句话了
传统的使用:
万能Adapter的使用:
标签:convert blank https log 适配 roi 学生 dao 简单
原文地址:https://www.cnblogs.com/zhanglixina/p/9597641.html