6

在我的 Android 应用程序中,我使用以下代码创建选项卡:

mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
            MyFragment.class, null);

在该addTab方法中,第三个参数是一个 Bundle 对象,是null. 我可以使用这第三个参数将参数传递给我的片段吗?

android API 文档为空addTab且未记录此参数。

4

2 回答 2

10

答案是肯定的。您传入的参数Bundle稍后将设置为您的片段arguments,并且可以从片段内部使用getArguments访问。

在 FragmentTabHost 中实现它的代码是:

newTab.fragment = Fragment.instantiate(mContext,
                        newTab.clss.getName(), newTab.args);
于 2013-05-15T10:16:27.173 回答
1

查看 FragmentTabHost.java,看起来它将此捆绑包传递给 tabinfo,而 tabinfo 又具有片段。所以答案是肯定的!

于 2013-05-15T10:21:38.013 回答