您的位置:首页 > 移动开发 > Android开发

Android加载xml布局文件方法

2014-02-08 11:27 260 查看
我们常常会遇到这样的情况,函数setContentView(R.layout.XXX);指定一个xml文件作为该Activity的布局文件,这样,如果我们要操作该xml文件中的Button、ImageView、TextView等组件,就可以直接用:Button  btn = (Button) findViewById(R.id.button);这样是可以的,但是如果我们要操作的这些组件并不在setContentView函数里面指定的xml文件中,这个时候再用上面的方法就会报空指针错误。所以我们要用到inflater,LayoutInflater的作用是将layout文件下的xml文件实例化为View对象,即调用inflate方法将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();
View layout = inflater.inflate(R.layout.main, null);


查看第二种方法的源码,实质上和第一种是一样。

public static LayoutInflater from(Context context) {
LayoutInflater LayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (LayoutInflater == null) {
throw new AssertionError("LayoutInflater not found.");
}
return LayoutInflater;
}


转自:http://blog.csdn.net/cool_oyty/article/details/9849339
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: