LayoutInflater.from的含义

通俗的说,inflate就相当于将一个xml中定义的布局找出来.

因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.

因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片

ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去

找到它上面的组件,如:

View view = View.inflate(this, R.layout.dialog_layout, null);

TextView dialogTV = (TextView) view.findViewById(R.id.dialog_tv);

dialogTV.setText("abcd");

如果组件R.id.dialog_tv是对话框上的组件,而你直接用this.findViewById(R.id.dialog_tv)肯定会报错.



作者:渔农
链接:https://www.jianshu.com/p/7fba4ea072e9
来源:简书

LayoutInflater:将布局XML文件实例化为其对应的View 对象。它永远不会直接使用。相反,使用 getLayoutInflater()或 getSystemService(String)检索已连接到当前上下文并为正在运行的设备正确配置的标准LayoutInflater实例。

你可能感兴趣的:(Android)