inflate方法与findViewById的区别

LayoutInflater作用是将layout的xml布局文件实例化为View类对象。

对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来找 res/layout下的 xml 布局文件,并且实例化为View类对象;

获取LayoutInflater的方法有如下三种:

LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
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的一个函数
View layout = inflater.inflate(R.layout.main, null);

·findViewById() 是找具体 xml 布局文件中的具体 widget 控件(如:Button、TextView 等)。

原文地址:https://www.cnblogs.com/tinyphp/p/3891859.html