【问题标题】:Adding tabs with vogella tutorial使用 vogella 教程添加选项卡
【发布时间】:2014-01-10 08:00:43
【问题描述】:

我正在开发一个 Android 应用程序并且已经编写了一些代码,但我意识到如果有标签可以在某些屏幕之间切换会很好。

我使用 vogella 的“导航标签”教程来自:http://www.vogella.com/tutorials/AndroidActionBar/article.html#actionbar_navigation_tab

现在我有一个问题,我不知道如何将我的内容添加到单个标签中。

还尝试了其他标签类型,但这让我更加困惑。甚至 android 开发网站上的选项卡教程也不是一个更好的方法:(

作为 androidprogramming 的新手,我现在需要一些帮助 :)

感谢您的回答

碎片

【问题讨论】:

  • 由于我的公司规则,我无法发布我的整个代码:我正在寻找基于教程的东西作为通用解决方案
  • setTabListener() 是改变每次标签点击内容的方法。为每个选项卡添加一个侦听器,然后在选项卡单击时启动片段。
  • 我已经实现了一个 TabListener,它适用于每个选项卡并写入一个数字 (1,2,3)。
  • 我的主要活动的 UI 是否为空?
  • 否,但您必须拥有将加载片段的布局的 ID。它可以是框架布局,您可以在每次选项卡单击时将其替换为片段。 FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.your_frame_layout, your_fragment); ft.addToBackStack(null); ft.commit();附:每个片段都有自己的布局。

标签: android android-fragments tabs navigation


【解决方案1】:

选项卡的内容由 Vogella 以不同的片段进行管理。所以你需要做的是为不同的标签创建不同的片段。一旦在 FragmentManager 的帮助下单击选项卡,这些片段就会被放置在容器中。 Vogella 正在使用以下侦听器来执行此操作:

  @Override
  public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    // When the given tab is selected, show the tab contents in the
    // container view.
    Fragment fragment = new DummySectionFragment();
    Bundle args = new Bundle();
    args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, tab.getPosition() + 1);
    fragment.setArguments(args);
    getFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();
  }

【讨论】:

    猜你喜欢
    • 2014-12-29
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    相关资源
    最近更新 更多