public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View datetimeView = View. inflate(getActivity(), R.layout.jiwu_fragment_datetime_picker_dialog, null);common_datetime_title= (TextView) datetimeView.findViewById(R.id.common_datetime_title);common_datetime= (TextView) datetimeView.findViewById(R.id.common_datetime);common_datetime.setOnClickListener(listener);return datetimeView;}
这里为何没有经典语句setContentView()???
如setContentView(R.layout.guideicon_jiwu);
//setContentView一旦调用, layout就会立刻显示UI;
//而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来!!!!!!
//inflator是用来实例化layout下的xml文件的,
// 不同点是LayoutInflater是用来找layout下xml布局文件,将其实例化
//而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。
下面介绍
inflate() 方法有3个参数:
inflate(int resource, ViewGroup root, boolean attachToRoot)
- 想要加载的layout的resource ID.
- 加载的layout的父ViewGroup.
传入container是很重要的, 目的是为了让系统接受所要加载的layout的根view的layout参数,
由它将挂靠的父view指定. - 布尔值指示在加载期间, 展开的layout是否应当附着到ViewGroup (第二个参数).