1.Activity中调用findViewById(int id)的时候,如果id不是在当前Activity所在的窗口,拿到的view对象就为空,会崩溃。
2.若要调用其他窗口的对象,请使用getLayoutInflater().inflate(R.layout.xx, null).indViewById(R.id.xx);
3.getLayoutInflater()
LayoutInflater.from(context)
(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)
三种方法本质上都是一种东西,都调用了Context.getSystemService()
4.inflate四种方法同上,都是调用了public View inflate(XmlPullParser, ViewGroup, boolean)方法;
5.在inflate中:
ViewGroup不为空,boolean默认为true,此时已经默认把XmlPullParser加入到了ViewGroup中,此时如果再使用addView,会报错。
ViewGroup为空,boolean失效,同时根节点(布局)的长宽属性会失效,无论怎么设置根节点都是包裹控件,一般用来获取其他布局的对象
ViewGroup不为空,boolean设置为false,此时需要使用addView来添加布局,一般用于动态添加布局