LayoutInflater的作用是实例化一个XML文件并将其加载到指定的View中。与findViewById类似,但不同的是,LayoutInflater可以找到没有被载入或需要动态载入的layout文件中的视图。
以下是使用LayoutInflater的步骤:
1. 获取LayoutInflater实例。可以通过调用Activity的getLayoutInflater()方法来实现,如下所示:
```java
LayoutInflater inflater = getLayoutInflater(); // 调用Activity的getLayoutInflater()方法,返回一个LayoutInflater实例
```
2. 通过给定的上下文获取LayoutInflater实例。可以使用如下代码:
```java
LayoutInflater inflater = LayoutInflater.from(context); // 从给定的上下文获取LayoutInflater实例
```
3. 通过使用Context.LAYOUT_INFLATER_SERVICE服务从当前上下文中获取LayoutInflater实例。示例代码如下:
```java
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); // 获取当前上下文中的LayoutInflater实例
```
最后,通过调用inflater.inflate()方法并传入XML布局文件的资源ID以及一个null值作为父视图参数,即可将布局文件实例化成一个View对象。然后,可以将该View对象设置为当前Activity的内容视图,以便在屏幕上显示相应的内容。示例代码如下:
```java
View view = inflater.inflate(R.layout.newview, null); // 将XML布局文件实例化为一个View对象
setContentView(view); // 将该View对象设置为当前Activity的内容视图,以显示相应内容
```