我关注http://developer.android.com/guide/topics/ui/actionbar.html#Tabs
它使用以下代码添加Tab。
Tab tab = actionBar.newTab()
.setText(R.string.artist)
.setTabListener(new TabListener<ArtistFragment>(
this, "artist", ArtistFragment.class));
actionBar.addTab(tab);
我想在片段实例上提供参数,或者在第一次显示选项卡之前在片段实例上调用myInit(myVariableList)方法。
我该怎么做?
答案 0 :(得分:6)
您可以使用tab.setTag()
将任意对象链接到选项卡。如果您可以将myVariableList
放入Bundle
,则可以通过执行以下操作来实现简单的解决方案 -
Tab tab = actionBar.newTab()
.setText(R.string.artist)
.setTabListener(new TabListener<ArtistFragment>(
this, "artist", ArtistFragment.class));
tab.setTag(myVariableBundle);
actionBar.addTab(tab);
然后,在onTabSelected
回调中,在实例化片段时发送Bundle
-
mFragment = Fragment.instantiate(mActivity, mClass.getName(), (Bundle) tab.getTag());
然后,您应该可以使用Bundle
getArguments()