inflate 方法与 findViewById方法的区别
来源:互联网 发布:同业拆借 知乎 编辑:程序博客网 时间:2024/04/30 15:38
具体作用:
1、对于一个没有被载入或者想要动态载入的界面,都需要使用layoutinflater.inflate()来载入;
2、对于一个已经载入的界面,就可以使用activiyt.findviewbyid()开发方法 来获得其中的界面元素。
layoutinflater作用是将layout的xml布局文件实例化为view类对象。
获取layoutinflater的开发方法 有如下三种:
view layout = inflater.inflate(r.layout.main, null);
layoutinflater inflater = layoutinflater.from(context); (该开发方法 实质就是第一种开发方法 ,可参考源代码)
view layout = inflater.inflate(r.layout.main, null);
layoutinflater inflater = getlayoutinflater();(在activity中可以使用,实际上是view子类下window的一个函数)
注意:
·inflate开发方法 与 findviewbyid 开发方法 不同;
·inflater 是用来找 res/layout下的 xml 布局文件,并且实例化;
private textview tv;
public void oncreate(bundle savedinstancestate){
view view = inflate.inflate(r.layout.main,null);
setcontentview(view);
}
}
上述
此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com
注释掉的代码和没有注释掉的代码两种情况是相同的。区别:
setcontentview()一旦调用, layout就会立刻显示ui;而inflate只会把layout形成一个以view类实现成的对象,有需要时再用setcontentview(view)显示出来。一般在activity中通过setcontentview()将界面显示出来,但是如果在非activity中如何对控件布局设置操作了,这就需要layoutinflater动态加载。
public view inflate(int resourece,viewgroup root)
作用:填充一个新的视图层次结构从指定的xml资源文件中
resource:view的layout的id
root: 生成的层次结构的根视图
return 填充的层次结构的根视图。如果参数root提供了,那么root就是根视图;否则填充的xml文件的根就是根视图。
其余几个重载的inflate函数类似。
具体方法请看我下一篇 博客
- inflate 方法与 findViewById方法的区别
- inflate方法与findViewById的区别
- inflate方法与findViewById的区别
- Android inflate方法与 findViewById 方法区别
- [Android]inflate方法与 findViewById 方法区别 | LayoutInflater的inflate函数用法详解
- [Android]inflate方法与 findViewById 方法区别 | LayoutInflater的inflate函数用法详解
- findViewById的问题和inflate(0方法
- View inflate 方法与 LayoutInflater inflate 方法的区别详解
- 有关Fragment的getActivity().findViewById,以及inflate与 findViewById 区别、setContentView和inflate的区别!!!
- inflate和findViewById方法对比
- inflate, findViewById与setContentView的区别与联系
- inflate, findViewById与setContentView的区别与联系
- inflate, findViewById与setContentView的区别与联系
- 通过对inflate与 findViewById 方法的探究深度了解一下Android
- setContentView和inflate调用findViewById的区别
- setContentView、findViewById 和 inflate 的区别?
- setContentView、findViewById 和 inflate 的区别?
- inflate方法与getViewByID和setContentView的区别
- C#Socket编程多客户端基于同一服务端通信
- SSH2整合项目开发中spring配置文件applicationContext.xml分析
- sql语法的查缺补漏(MySQL、SQL Server、Access、Oracle、DB2 等等关系型数据库)
- 如何将HTTP站点转换成HTTPS、及后续问题
- Poj_2965 The Pilots Brothers' refrigerator(状态压缩,bfs)
- inflate 方法与 findViewById方法的区别
- 动力节点——封装(七)
- alignment fault
- maven项目发布到tomcat里lib包没有发布的问题
- ES6和原生js笔记
- C#关闭窗口方式以及线程后台运行
- Linux c编程--利润提成
- nginx监听事件流程
- 关于编写android程序遇到的问题