Jon*_*lis 5 android android-fragments android-tabs
FragmentTabHost 在其通常的配置中足够有礼貌地为我们处理片段的实例化,这意味着我们只需要传入类中,并完成剩下的工作:
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("friends").setIndicator("Friends"), FriendsFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), ContactsFragment.class, null);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我们只需要传递Fragment类(例如FriendsFragment.class)和传递的args包(在本例中null)并且FragmentTabHost将为我们处理片段的初始化.它似乎也很懒惰,只会在实际更改选项卡时加载片段.
这在很多情况下都很棒,但我想要做的是手动预先创建我的片段,然后将它们附加到FragmentTabHost之后.这样做的主要优点是我可以确保所有选项卡片段始终存在,而不是在用户更改选项卡时懒惰地创建.
理想情况下,我想拥有的是这样的东西(如果只存在方法!):
FriendsFragment f1 = new FriendsFragment();
ContactsFragment f2 = new ContactsFragment();
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("friends").setIndicator("Friends"), f1);
mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), f2);
Run Code Online (Sandbox Code Playgroud)
所以问题是:是否可以手动预先创建片段,FragmentTabHost或者是否有必要完全采用不同的方法?
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |