【发布时间】:2013-07-22 09:41:51
【问题描述】:
我正在创建一个包含多个片段的选项卡列表。
我注意到,在主要活动中,我使用setContentView 获取布局xml,并使用findViewById 获取相应的UI 元素配置。
setContentView(R.layout.fragment_tabs);
mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
mTabManager = new TabManager(this, mTabHost, android.R.id.tabcontent);
但是,在不同的片段类中,我必须改用充气器。
View v = inflater.inflate(R.layout.webview, container, false);
WebView myBrowser=(WebView)v.findViewById(R.id.mybrowser);
而且这两个函数都是用来获取布局xml来创建对象的,为什么会有区别呢?第一个是在onCreate 期间使用,第二个是在onCreateView 期间使用吗?在什么情况下我应该选择其中之一?
【问题讨论】:
-
其实
setContentView内部使用LayoutInflator。您不能在调用setContentView之前调用findViewById,因为视图尚未膨胀。
标签: android layout xml-parsing android-lifecycle layout-inflater