Android如何动态加载布局文件
1、
步骤1:使用eclipse新建一个android工程。

2、步骤2:工程默认会在主Activity中使用setContentView(R.layout.activity_main);加载一个主布局。

3、步骤3:我们可以将默认的setContentView(R.layout.activity_main);注释掉,然后根据布局文件中布局的类型定义一个变量,比如一般默认使用相对布局。这里尝试下使用findViewById来实验。
RelativeLayout rl = (RelativeLayout)findViewById(R.layout.activity_main);
setContentView(rl);


4、
步骤4:上面的代码正常情况是可以通过编译的,但如果提示布局文件的id错误,那么很可能是import了不该有的东西:activity_main cannot be resolved or is not a field MainActivity.java

5、注意看看import区的内容,发现多了一个import android.R,将它注释掉发现上面的错误消失了。

6、运行程序,很奇怪,程序崩溃了,这说明使用findViewById动态载入布局的操作是不行的。

7、步骤5:可以使用LayoutInflater类的inflate方法加载布局,这个方法具备两个参数,其中第一个是对应布局文件的资源路径,第二个参数可以设置为null。
RelativeLayout rl = (RelativeLayout)LayoutInflater.from(this).inflate(R.layout.activity_main, null);
setContentView(rl);

8、再次编译运行,程序无异常。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:181
阅读量:96
阅读量:177
阅读量:99
阅读量:102