[关闭]
@wangwangheng 2014-11-25T16:40:19.000000Z 字数 1756 阅读 2199

LayoutInflater使用注意点

原理性知识


本文整理自Android LayoutInflater深度解析 给你带来全新的认识
[TOC]

1. 三种调用inflate函数的区别

  1. FATAL EXCEPTION:main
  2. java.lang.UnSupportedOperationException:
  3. addView(View,LayoutParams) is not supported in Adapter

2. 三个调用方式的真正区别

由上面已经能够解释:

  1. FATAL EXCEPTION:main
  2. java.lang.UnSupportedOperationException:
  3. addView(View,LayoutParams) is not supported in Adapter

这是因为源码中调用了root.addView(temp, params);而此时的root是我们的ListViewListViewAdapterView子类:
直接看AdapterView的源码:

  1. @Override
  2. public void addView(View child) {
  3. throw new UnsupportedOperationException("addView(View) is not supported in AdapterView");
  4. }

3. 从ViewGroup的角度来理解LayoutInflater

如果大家对自定义ViewGroup和自定义View有一定的掌握,肯定不会对onMeasure方法陌生:
ViewGroup的onMeasure方法所做的是:为childView设置测量模式和测量出来的值。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注