LayoutInflater中四种类型inflate方法的介绍
2012-05-01 00:01
375 查看
LayoutInflater中四种类型inflate方法的介绍
博客分类: Android
原文出自:网络
第一种:
public View inflate (int resource, ViewGroup root)
reSource:View的layout的ID
root:如果返回null,则将此View作为根,此时既可以应用此View中的其他控件了。
如果返回!null, 则将默认的layout作为View的根。
第二种:
public View inflate (XmlPullParser parser, ViewGroup root)
parser:你需要解析xml的解析接口
root:如果返回null,则将此View作为根,此时既可以应用此View中的其他控件了。
如果返回!null, 则将默认的layout作为View的根。
第三种:
public View inflate (XmlPullParser parser, ViewGroup root, boolean attachToRoot)
parser:你需要解析View的xml的解析接口
root:如果返回null,则将此View作为根,此时既可以应用此View中的其他控件了。
如果返回!null, 则将默认的layout作为View的根。
attachToRoot:
ture:也就将此解析的xml作为View根
fase:则为默认的xml,做为根视图View
第四种:
public View inflate (int resource, ViewGroup root, boolean attachToRoot)
resource:View的layout的ID
root:如果返回null,则将此View作为根,此时既可以应用此View中的其他控件了。
如果返回!null, 则将默认的layout作为View的根。
attachToRoot:
ture:也就将此解析的xml作为View根
fase:则为默认的xml,做为根视图View
同时在此讲讲让我去API中去理解这四个函数的原因吧!嘿嘿!你肯定又会多学一招!
在Activity中:
大家是否知道,在setContentView(new MySurfaceView(this))后,此Activity中声明的View控件,
如:TextView为什么引用不到layout布局文件中的控件ID呢!初一看能够应用到,但是为什么编译就报空指针呢!原因:在setContentView(new MySurfaceView(this))后,此时的View变为了根视图了,虽然能应用到TextView对应的ID,但是我在MySurfaceView中根本就没有这个对象,所以就报空指针咯!解决办法:
View view = LayoutInflater.from(this).inflate(R.layout.passover, null);注:每解析一次都会产生不同的对象
然后你再引用没问题,使用自如了。
今天是咋们部门同事告诉我的,问题解决啦!
相关文章推荐
- LayoutInflater中四种类型inflate方法的 4000 介绍
- LayoutInflater中四种类型inflate方法的介绍
- LayoutInflater中四种类型inflate方法的介绍
- LayoutInflater中四种类型inflate方法的介绍
- LayoutInflater中四种类型inflate方法的介绍
- LayoutInflater中四种类型inflate方法的介绍
- 判断JS数据类型的四种方法
- media type(媒体类型)与media query(媒体查询)简介及使用方法介绍
- 动态类型检测介绍及使用方法
- media type(媒体类型)与media query(媒体查询)简介及使用方法介绍
- 四种不同的NAT类型及检测方法
- C#中方法的参数四种类型(值参数、ref、out、params)详解
- C#中方法的参数有四种类型:
- 四种类型转化方法
- javascript四种类型识别的方法
- Linux 修改MAC地址的四种方法介绍
- C#中方法参数的四种类型
- media type(媒体类型)与media query(媒体查询)简介及使用方法介绍
- Java中通过Executors调用静态方法来提供四种线程池介绍
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)