怎么把android中怎么把casting findviewbyidd不做一一对应

拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3ad1-ua98).
重新安装浏览器,或使用别的浏览器inflate方法与findViewById的区别 - 张武不是技术宅的博客 - CSDN博客
我的热门文章主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:问题:viewfindViewById与findViewById区别?
描述:imageviewfindViewById
public&View&getView(int&position,&View&convertView,&ViewGroup&parent)&{
LayoutInflater&inflater&=&LayoutInflater.from(mContext);
View&view&=&inflater.inflate(R.layout.grid_item,&null);
ImageView&mImageView&=&(ImageView)&view.findViewById(R.id.iv_image);&
mImageView.setImageDrawable(images[position]);
问题:1、LayoutInflater&inflater&=&LayoutInflater.from(mContext);&中的mContext为什么是Context的对象而不是this
&&&&&&&&&&&2、为什么要用view.findViewById,可以直接用.findViewById吗?理由是?解决方案1:
Context本质上是activity或service,而你这个getView是Adapter的方法,getView里面的this指向Adapter,也就是说this这时是个Adapter,而LayoutInflater.from需要的是个Context,你却给它个Adapter,这怎么能行。
第二个问题LayoutInflater可以理解为把布局文件转换为VIew的实例,那么view.findViewById指的是将这个布局文件转换为VIew然后在其中找到id为特定名称的控件。
findViewById是View的方法,你在getView里面直接调用findViewById相当于调用Adapter的findViewById,Adapter根本就没有这个方法。
建议你好好把java基础补一下。问这种问题说明你的面向对象学得一知半解而已!
以上介绍了“viewfindViewById与findViewById区别?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:/itwd/670798.html
上一篇: 下一篇:

我要回帖

更多关于 casting findviewbyid 的文章

 

随机推荐