这两句没有效果。
http://www./2013/05/layout-inflation-as-intended/
点击打开链接
这是一个老外对inflate()的研究。 第一个参数无需过多解释。 第二个参数指的是加载布局的root Optional view to be the parent of the generated hierarchy (if attachToRoot is true), or else simply an object that provides a set of LayoutParams values for root of the returned hierarchy (ifattachToRoot is false.) 大概就是说如果后面attachToRoot为true的情况下,这个布局会被解析并加载在root下面,如果为false,则会依照root去解析该xml并返回view,但是这个view不会被加载到root里。 其实如果为false,就是讲xml解析了,并依照root的类型给生成的view set一个LayoutParams 然后咱们看源代码里
[html]
view plain
copy
[java]
view plain
copy
[java]
view plain
copy
然后再在listview的adapter试一下,
[java]
view plain
copy
发现在listview里加载item的布局,
[html]
view plain
copy
这是因为在listview里,convertview用的是viewgroup的 为了验证一下,咱们在linearlayout中实验一下LayoutInflater
[java]
view plain
copy
奥,对了,注意,在listview中不要将inflate(int resource, ViewGroup root, boolean attachToRoot)的attachToRoot设为true, 因为这样等于说让listview addview(convertView),但是listview不能加子控件,会报如下错误:
[html]
view plain
copy
而在linearlayout里可以将inflate(int resource, ViewGroup root, boolean attachToRoot)的attachToRoot设为true,这样就相当于
[java]
view plain
copy
最后附上demo下载地址http://download.csdn.NET/detail/ccfcccfc/8142913点击打开链接 转自:http://blog.sina.com.cn/s/blog_7d95a2e70102v9xr.html,thanks! |
|