通俗的说,inflate就相当于将一个xml中定义的布局找出来.

因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.

因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片

ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去

找到它上面的组件,如:

View view = View.inflate(this, R.layout.dialog_layout, null);

TextView dialogTV = (TextView) view.findViewById(R.id.dialog_tv);

dialogTV.setText("abcd");

如果组件R.id.dialog_tv是对话框上的组件,而你直接用this.findViewById(R.id.dialog_tv)肯定会报错.

作者:渔农
链接:https://www.jianshu.com/p/7fba4ea072e9
来源:简书

LayoutInflater:将布局XML文件实例化为其对应的View 对象。它永远不会直接使用。相反,使用 getLayoutInflater()或 getSystemService(String)检索已连接到当前上下文并为正在运行的设备正确配置的标准LayoutInflater实例。

LayoutInflater.from的含义相关推荐

  1. android LayoutInflater.inflate()的参数及其用法

    很多人在网上问LayoutInflater类的用法,以及inflate()方法参数的含义,现解释如下: inflate()的作用就是将一个用xml定义的布局文件查找出来,注意与findViewById ...

  2. 2.2 LayoutInflater 加载布局文件源码

    LayoutInflater 加载布局文件源码 LayoutInflater是一个用于将xml布局文件加载为View或者ViewGroup对象的工具,我们可以称之为布局加载器. 获取LayoutInf ...

  3. 安卓 LayoutInflater详解

    导读 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(). 不同点是: LayoutInflater是用来找res/layout/下的xml布局文 ...

  4. LayoutInflater深度解析,学习方式分享

    LayoutInflater.from(parent.context).inflate(R.layout.activity_main,parent,false) 通过CTRL+用鼠标点击from方法我 ...

  5. 源码分析初级《篇一》 为何建议使用LayoutInflater.from而不用View.inflate

    转载文章请注明出处:道龙的博客 我们不管是在ListView.RecyclerView.甚至自定义布局的时候,都会通过View.inflate(......);方法加载布局,其实这是偷懒的方式,有些时 ...

  6. 深入理解 LayoutInflater.inflate() 方法

    目录 1. 前言 2. 正文 2.1 inflate() 方法分析 2.1.1 根节点不是 merge 时,第一组取值情况分析 2.1.2 根节点不是 merge 时,第二组取值情况分析 2.1.3 ...

  7. LayoutInflater的inflate方法使用

    Android动态添加布局时经常会用到LayoutInflater的inflate(int resource, ViewGroup root, boolean attachToRoot) 方法,但是i ...

  8. LayoutInflater是如何“移花接木”-上篇

    开篇之前,先唠叨唠叨为何用移花接木,移花接木,指使用手段更换事物来欺骗他人,不过开始想到的是偷梁换柱,暗渡陈仓,还有暗送秋波这些词,仔细查阅了下资料,无奈, 两者大都是贬义词,后者又是献媚取宠.暗中勾 ...

  9. java inflater_inflater.inflate()的参数含义

    inflate()的作用就是将一个用xml定义的布局文件查找出来,注意与findViewById()的区别,inflate是加载一个布局文件,而findViewById则是从布局文件中查找一个控件. ...

最新文章

  1. Java编程详细解析—淘宝大秒杀系统是如何设计的?
  2. c语言程序设计第3周编程作业(数字特征)
  3. 利用栈将中缀表达式转化成后缀表达式
  4. boost::units模块实现带有转换的用户定义单位的测试程序
  5. C/C++ main用法总结
  6. java动态代理_Java中的动态代理一
  7. 使用C#调试Windows服务模板项目
  8. k8s集群PHP环境使用
  9. java 邮件客户端 smtp_java网络编程三:基于SMTP的邮件发送客户端
  10. c++ 空类大小不为0的原因
  11. pythonbreak语句的用法_详解Python中break语句的用法
  12. Django项目将debug模式设置为false时,静态文件出错
  13. 如何在C语言中巧用正则表达式
  14. linux 触控板 不识别,关于Ubuntu下触摸板失灵的解决方法一例
  15. A certificate chain processed, but terminated in a root certificate which is not trusted...
  16. 没有公网IP?快解析实现内网穿透
  17. 聊聊从平面设计师转为UI设计师的经历
  18. Log4j2 CVE-2021-45046 鸡肋RCE漏洞复现与浅析
  19. 计算机为什么老是重启,电脑总是已计划自动重启怎么办 已计划自动重启怎么关闭...
  20. 四轴平面机器人的手眼标定

热门文章

  1. 云安对于数据中心容灾恢复及数据库监控
  2. module ‘gast‘ has no attribute ‘Num‘ 警告
  3. 关于无线定位技术 学习过程
  4. 2007上半年度 电脑病毒疫情和互联网安全报告(三)
  5. MainActivity.this是什么意思以及为什么这样表达
  6. 支付宝第三方pc网页版授权登录,简单易懂
  7. c语言中通过输入身份证号获取出生日期
  8. AliOS Thing正式开源,走近阿里云的物联网技术
  9. python程序执行完后重头开始_求教,程序执行到末尾如何重新开始的问题。
  10. Vue前端框架选型论述