- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BaseAdapter的理解
Why:继承BaseAdapter时要重载的方法及各方法作用
分类: android应用开发 2012-03-24 08:00286人阅读评论(0)收藏举报
object
在我们需要定制自己的适配器时(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.实例截图:
而 getItem和getItemId方法将会在调用ListView的响应方法的时候被调用到。所以要保证ListView的各个方法有效的话,这两个方 法也得重写。比如:没有完成getItemId方法的功能实现的话,当调用ListView的getItemIdAtPosition方法时将会得不到想 要的结果,因为该方法就是调用了对应的适配器的getItemId方法。
安卓开发中重写baseadapter类,需要重写getItem(int position),getItemId(int position),getView(int position, View convertView, ViewGroup parent)等方法,但其中每个方法的参数从哪里传来?
2013-01-26 09:14提问者采纳
楼主您好,很高兴为您解答,这些参数都是系统传的,也就是您写的listView单击了哪个,就传哪个的位置,也相当于的一个回调,这些都是系统完成的,所以这个您不用考虑那么多,希望能帮到您
public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private Integer[] mImageIds = { R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7 }; public ImageAdapter(Context c) { mContext = c; TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery); mGalleryItemBackground = a.getResourceId( R.styleable.HelloGallery_android_galleryItemBackground, 0); a.recycle(); } public int getCount() { return mImageIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(
您可能关注的文档
- ACE造型线比例控制器.pdf
- AD7705程序.docx
- AD574在心电采集系统中的应用.pdf
- AD9854在通信测控系统中的应用.pdf
- AD7606中文pdf.pdf
- Adams汉化命令详解.pdf
- ADF单位根检验中联合检验LM统计量研究_张凌翔.pdf
- addslashes()和addclashes()函数的区别和比较.doc
- ADINA在某溢洪道启闭机房振动复核中的应.pdf
- ADF教程:如何计算自旋-轨道耦合矩阵元.pdf
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)