当前位置: 代码迷 >> Android >> 一点点的有关问题。黄荣楠容易赚的分
  详细解决方案

一点点的有关问题。黄荣楠容易赚的分

热度:104   发布时间:2016-05-01 21:23:31.0
一点点的问题。。。黄荣楠容易赚的分

看书里面说:


※ 下述指令:
LayoutInflater inflate = (LayoutInflater) getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
layout1 = (LinearLayout)inflate.inflate(R.layout.main, null, null);
setContentView(layout1);
 

相当于setContentView(R.layout.main);

这是真的吗。。。难道不是创造一个新的layout么?????

------解决方案--------------------
这个是创造一个新layout!你的这个layout1就相当于一个视图view!可以向里面添加一些空间!这样写主要是用于在程序中生成一个布局,比如当你点击对话框是,要在对话框中弄些控件,图片之类等,这样写就可以实现你的想法!
------解决方案--------------------
这是activity里面的setContentView的方法。
 
/**
* Set the activity content from a layout resource. The resource will be
* inflated, adding all top-level views to the activity.

* @param layoutResID Resource ID to be inflated.
*/
public void setContentView(int layoutResID) {
getWindow().setContentView(layoutResID);
}

/**
* Set the activity content to an explicit view. This view is placed
* directly into the activity's view hierarchy. It can itself be a complex
* view hierarhcy.

* @param view The desired content to display.
*/
public void setContentView(View view) {
getWindow().setContentView(view);
}

楼主的第一个调用方法:
LayoutInflater inflate = (LayoutInflater) getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
layout1 = (LinearLayout)inflate.inflate(R.layout.main, null, null);
setContentView(layout1);

相当于调用了public void setContentView(View view) 把一个view做为参数传递给setContentView(View view)

而我们时常用的 setContentView(R.layout.main);是把一个resource 做为参数传递给了 public void setContentView(int layoutResID)
  相关解决方案