【问题标题】:How can I replace a fragment used by the tabs in ActionBarSherlock using the Tabs and Pager example?如何使用 Tabs and Pager 示例替换 ActionBarSherlock 中的选项卡使用的片段?
【发布时间】:2012-10-24 08:14:35
【问题描述】:

我的问题类似于this。但是,它更笼统一些: 让我试着解释一下:我将 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;
 }

实际上并未提供新的可见布局:其内容为空的选项卡(例如,我看到一个全息白色主题的空选项卡)。

现在我有以下问题:

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

  1. 我是否应该调整 Tabs 和 Pager 示例的 XML 并将其与片段容器相匹配?
  2. 使用选项卡和包含许多片段的浏览器的最佳做法是什么?因为我想使用标签作为我的主要导航,但我会有很多不同的片段。

【问题讨论】:

    标签: android tabs actionbarsherlock


    【解决方案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();
    

    这应该替换选项卡的片段。

    【讨论】:

      【解决方案2】:

      答案就在这个问题的答案中 Actionbarsherlock + tabs + multi fragments?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多