在我们需要定制自己的适配器时(adapter)时我们就需要继承BaseAdapter抽象类,除了必要的构造函数外有几个函数是必须要重载的,它们是:
public abstract int getCount()
public abstract Object getItem(int position)
public abstract long getItemId(int position)
public abstract View getView(int position, View convertView, ViewGroup parent)
个函数的主要功能:
1.先来看一下简略流程图(不一定非常精确,但大致流程是这样):
由流程图可以看到getCount()和getView()的作用:
1.getCount()决定了我们将要绘制的资源数,当然这个数目不能大于资源的总数,不过却可以小于资源的总数。例如我们adapter管理的资源总共有10个,而我们通过getCount()返回的只有6个,那么最终GridView绘制出来的将只有6个。
2.getView():通过传入的参数position,加工成我们想要的View并返回,最终共GridView使用
那getItem()和getItemId()有什么用呢?我们知道,GridView将View以方格的方式展示出来之后是要与用户交互的(比如点击某张图片),为了更好的相应用户的动作,我们就要用到这两个函数了。
本文相关资源:
1.实例截图:
2.本文对应的实例源代码