use*_*104 25 layout android xml-parsing android-lifecycle layout-inflater
我正在创建一个包含多个片段的选项卡列表.我注意到,在主要活动中,我曾经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);
Run Code Online (Sandbox Code Playgroud)
但是,在不同的片段类中,我必须使用inflater.
View v = inflater.inflate(R.layout.webview, container, false);
WebView myBrowser=(WebView)v.findViewById(R.id.mybrowser);
Run Code Online (Sandbox Code Playgroud)
并且这两个函数都用于获取布局xml来创建一个对象,为什么会有区别?是第一个使用期间onCreate,第二个期间使用onCreateView?在什么情况下我应该选择其中之一?
Bra*_*ell 28
setContentView只是一种Activity方法.每个Activity都提供有FrameLayoutid "@+id/content"(即内容视图).您指定的任何视图都setContentView将是对此的观点Activity.请注意,您还可以将视图实例传递给此方法,例如setContentView(new WebView(this));,您正在使用的方法版本将在后台为您的视图充气.
另一方面,片段有一个生命周期方法onCreateView,它返回一个视图(如果有的话).最常见的方法是用XML扩展视图并在此方法中返回它.在这种情况下,你需要自己充气.片段没有setContentView方法
| 归档时间: |
|
| 查看次数: |
11808 次 |
| 最近记录: |