我的问题看起来与此相似。但是,总的来说,这更多:让我尝试解释一下:我正在使用TabSadapter和ViewPager使用ActionBarsherlock。我已经用自己的片段替换了所有片段,现在我的一个片段中有一个按钮,当单击时,启动以下onclick处理程序:
public void onAcceptSelected() {
SherlockFragment addFirstChildFragment = AddChildFragment.newInstance();
getSupportActionBar().setTitle("The new title of the fragment here");
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.pager, addFirstChildFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
}
问题是新片段中的以下方法:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_childeditor, container, false);
return v;
}
并未导致实际提供新的可见布局:该标签的内容为空(例如,我看到一个Holo White主题为空标签)。
现在我有以下问题:
我的主要问题是:"我应该如何在标签中替换片段?"带有子问题:
- 我应该适应标签和打印示例的XML并与片段容器拟合?
- 使用标签和带有许多片段的ViewPager的最佳实践是什么?因为我想将选项卡用作主要导航,但我会有很多不同的片段。
它相当简单。只需将关联到标签关联的片段就像您替换其他片段的方式一样。
Fragment donorpage = new DonorRegistrationPage(); // new fragment for the tab
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, donorpage, "frag");
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
这应该替换标签的片段。
答案位于此问题的答案中ActionBarsherlock Tabs 多片段?
我问题的答案是:1.不,这不是必需的:我可以将它们添加给ProgramaticLlay。2.我可以将fragmentStacks用作上面链接中显示的示例。