Android 如何使用选项卡和寻呼机示例替换ActionBarSherlock中选项卡使用的片段?

Android 如何使用选项卡和寻呼机示例替换ActionBarSherlock中选项卡使用的片段?,android,tabs,actionbarsherlock,Android,Tabs,Actionbarsherlock,我的问题看起来很像。但是,一般来说,它有点: 让我试着解释一下:我将ActionBarSherlock与Tabsadapter和Viewpager一起使用。我已将所有片段替换为我自己的片段,现在我在其中一个片段中有一个按钮,当单击该按钮时,将启动以下onclick处理程序: public void onAcceptSelected() { SherlockFragment addFirstChildFragment = AddChildFragment.newInstance();

我的问题看起来很像。但是,一般来说,它有点: 让我试着解释一下:我将ActionBarSherlock与Tabsadapter和Viewpager一起使用。我已将所有片段替换为我自己的片段,现在我在其中一个片段中有一个按钮,当单击该按钮时,将启动以下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;
 }
不会导致实际提供新的可见布局:选项卡及其内容为空(例如,我看到一个全息白色主题的空选项卡)

现在我有以下问题:

我的主要问题是:“我应该如何替换选项卡中的片段?” 附子问题:

  • 我是否应该调整Tabs和Pager示例的XML并将其与片段容器相匹配
  • 使用带有多个片段的选项卡和viewpager的最佳实践是什么?因为我想使用标签作为我的主要导航,但我会有很多不同的片段
    答案就在这个问题的答案中

    我的问题现答覆如下: 1.不,这不是必需的:我可以通过编程添加它们。
    2.我可以使用上面链接中的示例所示的碎片堆栈。

    答案在这个问题的答案中

    我的问题现答覆如下: 1.不,这不是必需的:我可以通过编程添加它们。
    2.我可以使用上面链接中的示例所示的碎片堆栈。

    这相当简单。只需像替换其他片段一样更改与选项卡关联的片段

                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();
    

    这将替换选项卡的片段。

    它相当简单。只需像替换其他片段一样更改与选项卡关联的片段

                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();
    
    这将替换选项卡的片段