我的问题与this类似。但是,它更一般: 让我试着解释一下:我正在使用带有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;
}
不会导致实际提供新的可见布局:选项卡的内容为空(例如,我看到一个全白色的主题空标签)。
现在我有以下问题:
我的主要问题是:“我应该如何替换标签中的片段?” 带子问题:
答案 0 :(得分:1)
它相当简单。只需更改与选项卡关联的片段,就像更换其他片段一样。
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();
这应该替换选项卡的片段。
答案 1 :(得分:0)
答案在于这个问题的答案 Actionbarsherlock + tabs + multi fragments?
我的问题的答案是: 1.不,这不是必要的:我可以添加programaticllay。 2.我可以使用fragmentstacks,如上面链接中的示例所示。